我有一个像这样的大数据集:
df <- data.frame(group = c(rep(1, 3), rep(5, 3)), member = c(30, 10, 22, 21, 44, 15))
group member
1 30
1 10
1 22
5 21
5 44
5 15
...
我想在每个小组内订购会员。预期的输出应如下所示:
group member
1 10
1 22
1 30
5 15
5 21
5 44
...
有没有人知道要实现这个目标?
答案 0 :(得分:1)
你可以使用&#34;和&#34; function:第一个参数是你的数据帧,第二个参数是你想用它做的事情:按变量排序&#34; group&#34;然后由变量&#34;成员&#34;。
df[with(df,order(group,member)),]
答案 1 :(得分:0)
尝试使用plyr包中的ddply
> library(plyr)
> ddply(df, .(group), mutate, member=sort(member))
group member
1 1 10
2 1 22
3 1 30
4 5 15
5 5 21
6 5 44