我有一个数据框(df),这只是一个示例:
group value condition
1 12 1
1 14 1
1 18 1
1 10 0
1 7 1
2 12 1
2 9 0
2 12 1
2 16 1
2 15 0
即;
df<-data.frame(group=c(1,1,1,1,1,2,2,2,2,2), value=c(12,14,18,10,7,12,9,12,16,15), condition=c(1,1,1,0,1,1,0,1,1,0))
我希望创建三个名为“rank1”,“rank2”和“rank3”的新列,其中:
- rank1 给出 "group"中最小的“value”
- rank2 给出 "group"中第二小的“value”
- rank3 给出 "group"中第三小的“value”
- 在满足条件=1的值中
group rank1 rank2 ran3
1 7 12 14
2 12 12 16
我该如何使用R完成这个任务?非常感谢您的帮助。非常感谢。