如何引用觀察行號?例如,如果您有一個名爲「數據」的data.frame
,並且想要創建一個與每個觀察行號相等的變量data$rownumber
,那麼您如何在不使用循環的情況下做到這一點?參考R中的行號
Q
參考R中的行號
12
A
回答
19
這些都是默認存在的rownames
當你創建一個data.frame
。
R> df = data.frame('a' = rnorm(10), 'b' = runif(10), 'c' = letters[1:10])
R> df
a b c
1 0.3336944 0.39746731 a
2 -0.2334404 0.12242856 b
3 1.4886706 0.07984085 c
4 -1.4853724 0.83163342 d
5 0.7291344 0.10981827 e
6 0.1786753 0.47401690 f
7 -0.9173701 0.73992239 g
8 0.7805941 0.91925413 h
9 0.2469860 0.87979229 i
10 1.2810961 0.53289335 j
您可以通過rownames
命令訪問它們。
R> rownames(df)
[1] "1" "2" "3" "4" "5" "6" "7" "8" "9" "10"
如果你需要他們的號碼,只需加入as.numeric
,如as.numeric(rownames(df))
強制爲數字。
你並不需要添加它們,因爲如果你知道你在找什麼(比如項目df$c == 'i'
,您可以使用該命令:
R> which(df$c =='i')
[1] 9
,或者如果你不知道列
R> which(df == 'i', arr.ind=T)
row col
[1,] 9 3
您可以訪問使用,或df$c[9]
元素。
如果你想添加它們,你可以使用df$rownumber <- as.numeric(rownames(df))
,雖然這可能不如df$rownumber <- 1:nrow(df)
穩健,因爲有些情況下您可能已將其分配到rownames
,因此它們將不再是默認索引編號(即使您將其分配給rownames
,該命令也將繼續返回索引編號)。
1
這可能是最簡單的方法:
data$rownumber = 1:dim(data)[1]
這也許值得一提的是,如果你想通過其行索引選擇一排,你可以用簡單的括號來做到這一點
data[3,]
vs.
data[data$rownumber==3,]
所以我不確定這個新專欄是如何實現的。
6
簡單:
data$rownumber = 1:nrow(Data)
相關問題
- 1. R⾃參考
- 2. 參考手冊R
- 3. 參考R值(R值的地址)
- 4. 按參考編號
- 5. 參考矢量匿名中的R
- 6. R中的隱式變量參考
- 7. 參考R標記中的knitr塊
- 8. 參考R中data.table中的上一行,條件爲
- 9. 參考對於R嚮導
- 10. R參考類問題
- 11. R - 命令行參數中的逗號逗號
- 12. InputBox中的行參考?
- 13. l值參考和r值參考的結合誤差
- 14. 編號和參考Pandoc中的圖像
- 15. Jade中的安靜參考符號?
- 16. 速度中的「錯誤」參考符號
- 17. 參考標記編號
- 18. MySQL Workbench符號參考
- 19. 連續參考編號
- 20. 我如何在Groovy中執行等於參考的參考?
- 21. 關於r值參考的困惑
- 22. 瞭解data.table的參考屬性R
- 23. 在R中標記出現相同參考號的其他事件
- 24. quantstrat信號參考其他信號
- 25. 參考函數參數與字符串名稱中的R
- 26. MongoEngine - 從ListField中提取參考,編號
- 27. 在C#中添加System.Data.SQLite參考號
- 28. OSGI中的原子參考DS參考
- 29. R - 列子集之間的相關性 - 參考當前行
- 30. 參考代碼中的內部版本號或版本號
您可以使用'nrow(data)'而不是'dim(data)[1]'。 –
rownames是不是數字的字符。這可能會導致混淆。 – Roland
@Roland好點,刪除替代解決方案。 –