我试图将我对plyr的理解转化为dplyr,但我不知道如何按多列进行分组。
# make data with weird column names that can't be hard coded
data = data.frame(
asihckhdoydkhxiydfgfTgdsx = sample(LETTERS[1:3], 100, replace=TRUE),
a30mvxigxkghc5cdsvxvyv0ja = sample(LETTERS[1:3], 100, replace=TRUE),
value = rnorm(100)
)
# get the columns we want to average within
columns = names(data)[-3]
# plyr - works
ddply(data, columns, summarize, value=mean(value))
# dplyr - raises error
data %.%
group_by(columns) %.%
summarise(Value = mean(value))
#> Error in eval(expr, envir, enclos) : index out of bounds
要将plyr示例转换为dplyr-esque语法,我会遗漏什么?
编辑2017:Dplyr已经更新,因此可以使用更简单的解决方案。查看当前选择的答案。
https://stackoverflow.com/questions/21208801
复制相似问题