我有一段工作代码:
number_of_columns <- dim(resultsper)[2]
resultsper <- resultsper %>% gather(c(5:number_of_columns), key = "Scenario", value = "Value")
这曾经很好用,但现在,我收到了消息
FUN中的错误(X [[i]],...):找不到对象'number_of_columns'。
如果我跑
resultsper <- resultsper %>% gather <- (c(5:11), key = "Scenario", value = "Value")
它再次起作用,但这不是我想要的。我试过聚集_但这也行不通。它可能是tidyr的更新,但我还没有找到解决方案。
提前致谢
伦格尔
答案 0 :(得分:1)
从 tidyr 0.7.0 开始,选择规则更严格。可以在this article中找到对versino 0.7.0中所有更改的回顾。
简而言之,当使用上下文表达式(即,使用数据集外部的信息)时,必须使用quasiquotation运算符!!
明确指出在哪里找到对象。< / p>
以下是您的方案中的示例。
number_of_columns = ncol(mtcars)
mtcars %>% gather("Scenario", "Value", !! 5:number_of_columns)