收集来自tidyr compains关于未找到的对象

时间:2017-08-23 15:18:56

标签: r tidyr

我有一段工作代码:

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的更新,但我还没有找到解决方案。

提前致谢

伦格尔

1 个答案:

答案 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)