我是R新手,有一个相对简单的问题,我无法弄清楚。我有一个大约30,000行和3列的数据集。每30行是一个样本,但没有样本的标识符。我想排列每个行的单个样本(即我需要排名30--1:30,然后31:60然后61:90,等等的每个子集等等,以30000)。我想将输出绑定到原始数据表。任何简单的方法来完成这项任务?谢谢!数据集的排名子集
Q
数据集的排名子集
0
A
回答
2
为了区分这些行,添加另一列:
dataset$rank <- rep(1:1000, each=30)
对于任何更详细的,在这个问题详细一点的是秩序。
1
的样本数据:
n <- 3000
df <- data.frame(V1 = runif(n), V2 = runif(n), V3 = runif(n))
如何添加一个计算rank
上V3
每30行一列:
df <- transform(df, rank = ave(V3, (seq_along(V3) - 1) %/% 30, FUN = rank))
您还可以打破它了一下,如果它可以帮助理解:
df <- within(df, {ID = 1 + (seq_along(V3) - 1) %/% 30
rank = ave(V3, ID, FUN = rank)})
在这第二个建议中,我从transform
到within
,因为前者不允许根据其他新定义的变量(ID
)定义变量(rank
)。
+0
复杂但工作很好!谢谢! – user2449619
+0
@ user2449619,然后请考虑接受我的答案。谢谢。 – flodel
相关问题
- 1. R排序数据子集
- 2. as.numeric数据集的子集
- 3. 子集的数据集
- 4. 数据集行中的排名值
- 5. 按值排列的数据框子集
- 6. 子集化数据集
- 7. 数据集排序
- 8. Proc排名 - 整个数据集
- 9. 子集数据
- 10. 子数据集
- 11. 子集数据
- 12. MySQL结果的排名子集
- 13. SQL密集排名函数
- 14. 回归上的数据集的子集
- 15. 子集数据框不使用列名
- 16. 调用数据集的一个子集
- 17. 子集JSON数据
- 18. 数据帧子集
- 19. 子集数据帧
- 20. 子集数据框
- 21. Groovy(或Java)中排序集的子集
- 22. 密集排名组
- 23. 排序数据集中的数据
- 24. EntityFramework排序子集
- 25. winforms排序数据集
- 26. 重新排列数据集
- 27. 对Delphi数据集排序
- 28. 在排序数据集
- 29. 重新排列数据集
- 30. 子集的数据帧
+1 - 虽然我不会称之为“排名”,更像是一个“id”。我同意我们需要更多的细节,以说明OP称之为“等级”。 – flodel
感谢您的输入。这里有更多的细节。我有一个三列表mydataset。它是30,000行的数据集。但是,每隔30行,我都会更换样品。我想在V3列中对每个样本mydataset $ V3进行排序(不排序)它们的值,并将该排名放入新列mydataset $ V4中。这意味着我想对每排30行执行排名功能。我想作为一个forloop这将排名第1-30行退出循环,然后在接下来的30(行31-60)执行相同的功能。这是否足够的信息?你还想知道什么? – user2449619