我是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