我試圖使用標準評估從tidyr包中排除gather()
的列。使用標準評估排除來自tidyr包的聚集()的列使用標準評估
使用非標準的評價,這工作得很好:但
mtcars_df <- head(mtcars[, c("mpg", "hp", "cyl")])
tidyr::gather(mtcars_df, key, val, -cyl)
,使用標準的評價,無論是以下工作,都返回一個錯誤:
tidyr::gather_(mtcars_df, "key", "val", -"cyl")
tidyr::gather_(mtcars_df, "key", "val", -cyl)
作爲一個變通辦法,我試圖使用select()
幫手功能,但這只是返回了原來的data.frame
,mtcars_df
:
tidyr::gather_(mtcars_df, "key", "val", -dplyr::contains("cyl"))
如何使用標準評估以這種方式排除列?這裏發生了什麼?
no visible binding for global variable '.'
:
這是更多的工作,但'mtcars_df%>%聚_(「鍵」,「值」,名稱(。)名稱(。)!='cyl'])'。雖然可能有一個更簡單的習慣用法。 – alistaire