我已经更新了dplyr(现在为0.7.1),而且我的旧代码很多都不起作用,因为mutate_each已被弃用。我用mutate_each使用列索引来做这样的事情(下面的代码)。我会在数百个专栏上做这个。而我只是无法弄清楚如何正确使用mutate_at的变量参数。我见过的所有例子都使用了列名......我不想这样做。我相信这是一个简单的答案,但我花了太多时间试图弄清楚,并会非常感谢一些帮助。使用列索引进行dplyr 0.5.0 mutate
data<-data.frame(numbers=1:10, morenumbers=11:20)
change<-function(x) ifelse(x>10, 1, 2)
newdata<-data%>%mutate_each(funs(change), 1:2)
如果我尝试:
newdata<-data%>%mutate_at(funs(change), vars(1:2))
甚至这样的:
newdata<-data%>%mutate_at(funs(change), vars(numbers, morenumbers))
我收到以下错误
Error: `.vars` must be a character/numeric vector or a `vars()` object,
not list
请注意,严格地说'mutate_all'是替换'mutate_each'。此外,现在有一段时间有贬值警告。 – Axeman