我有问题让 tidyr 的收集在它的标准评估版本收集工作:
require(tidyr)
require(dplyr)
require(lazyeval)
df = data.frame(varName=c(1,2))
收集作品:
df %>% gather(variable,value,varName)
但我希望能够在标准评估模式下从变量中获取名称 varName ,但似乎无法正确:
name='varName'
df %>% gather_("variable","value",interp(~v,v=name))
Error in match(x, y, 0L) : 'match' requires vector arguments
我也对以下内容感到困惑。
这按预期工作:
df %>% gather_("variable","value","varName")
下一行应该等同于最后一行(根据我对http://cran.r-project.org/web/packages/dplyr/vignettes/nse.html的理解),但不起作用:
df %>% gather_(~variable,~value,~varName)
Error in match(x, y, 0L) : 'match' requires vector arguments