相关疑难解决方法(0)

按组排序变量(dplyr)

我有一个带有列的数据框,x1, x2, group我想生成一个新的数据框,其中有一个额外的列rank,表示x1其组中的顺序.

还有一个相关的问题在这里,但接受的答案似乎不工作了.

直到这里,没关系:

library(dplyr)
data(iris)
by_species <- iris %>% 
              arrange(Species, Sepal.Length) %>% 
              group_by(Species)  
Run Code Online (Sandbox Code Playgroud)

但是当我试图按组排名时:

by_species <- mutate(by_species, rank=row_number())
Run Code Online (Sandbox Code Playgroud)

错误是:

排名错误(x,ties.method ="first",na.last ="keep"):
缺少参数"x",没有默认值

更新

问题是dplyr和之间存在一些冲突plyr.要重现错误,请加载两个包:

library(dplyr)
library(plyr)
data(iris)
by_species <- iris %>% 
              arrange(Species, Sepal.Length) %>% 
              group_by(Species) %>% 
              mutate(rank=row_number())
# Error in rank(x, ties.method = "first", na.last = "keep") : 
# argument "x" is missing, with no default
Run Code Online (Sandbox Code Playgroud)

卸载plyr它的工作原理:

detach("package:plyr", unload=TRUE)
by_species <- iris %>% …
Run Code Online (Sandbox Code Playgroud)

r dplyr

18
推荐指数
1
解决办法
2万
查看次数

标签 统计

dplyr ×1

r ×1