通常當你得到一個列時,它是一個向量。我怎樣才能保持它作爲data.frame具有相同的行名稱和相應的列名稱?如何從data.frame中將每個列作爲data.frame(而不是一個向量)?
9
A
回答
13
而不是調用用逗號即data.frame [,I]使用data.frame [I]所期望的柱以保留類作爲data.frame和還保留行的名稱。
data.frame[,i] #As a vector
data.frame[i] #As a data.frame
+0
不錯,我不知道你可以這樣做+1 – 2012-04-07 13:45:11
+0
我想爲我的問題帖子增加一些價值,並且不應該被關閉:) – RNA 2012-04-08 00:02:59
5
使用參數下降= FALSE爲:
mtcars[, 1, drop = FALSE]
0
如果子集劃分一個data.frame時指定一個號碼,你會得到一列data.frame。這與矩陣子集化不同,後者需要「缺失」參數來返回整個列(然後將其轉換爲矢量)。
# mtcars is a data.frame
mtcars[1] # first column
str(mtcars[1]) # is still a data.frame
# 'data.frame': 32 obs. of 1 variable:
# $ mpg: num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
# MTCARS is a matrix
MTCARS <- as.matrix(mtcars)
as.matrix(MTCARS)[1] # only the first element
# [1] 21
str(as.matrix(MTCARS)[,1]) # the first column, as a vector
Named num [1:32] 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
- attr(*, "names")= chr [1:32] "Mazda RX4" "Mazda RX4 Wag" "Datsun 710" ...
相關問題
- 1. 如何從data.frame中提取單個列作爲data.frame?
- 2. 如何從R中的data.frame列中創建一個向量?
- 3. 將data.frame列設置爲一個用於創建confint的向量
- 4. 從data.frame中提取列作爲矢量
- 5. R:在data.frame中插入一個向量作爲一行
- 6. 從單維data.frame刪除行並保留它作爲一個data.frame
- 7. 轉換data.frame另一個data.frame
- 8. 如何拆分一列data.frame並獲取data.frame作爲輸出?
- 9. R:子集data.frame由另一個向量
- 10. 如何在data.frame基於從另一個data.frame
- 11. 如何引用data.frame中的data.frame的列?
- 12. R,在data.frame通過從另一個data.frame值+動態列
- 13. 如何從data.frame的每一行中提取不同的列?
- 14. R:一個data.frame
- 15. 一個data.frame
- 16. 從data.frame中減去另一個data.frame中的列表中的列表
- 17. 尋找從另一個data.frame
- 18. 創建一個data.frame,其列將在每一行中保存一個列表
- 19. 從一個小data.frame將數據複製到一個更大的data.frame
- 20. R將data.frame的一列更改爲二進制向量
- 21. cbind同樣名爲向量在列表中的多個data.frames到一個data.frame
- 22. 從data.frame創建一個新的列
- 23. 將列向量分配給多個data.frame對象作爲公共屬性
- 24. 獲取一個data.frame的每一行不同的列
- 25. 爲什麼ifelse將data.frame轉換爲列表:ifelse(TRUE,data.frame(1),0))!= data.frame(1)?
- 26. 在另一個data.frame創建一個列的100個隨機抽樣data.frame
- 27. 在R中,如何使用另一個data.frame的一列中的唯一值創建一個data.frame?
- 28. 爲什麼R找到不在data.frame中的data.frame變量?
- 29. 在R中的一個條件乘以另一個data.frame中列的一個data.frame中的列值
- 30. 變換data.frame列表來data.frame
[1維矩陣更改爲R中的向量]的可能副本(http://stackoverflow.com/questions/9949202/1-dimensional-matrix-is-changed-to-a-vector -in-r) – joran 2012-04-06 19:08:20
@joran對不起,沒有看到可能的重複。我會留下我的迴應,如果這個問題已經結束,我的回答是一個有爭議的問題。 – 2012-04-06 19:10:45
@TylerRinker別擔心。這只是一個很常見的問題,就是這樣。 – joran 2012-04-06 19:35:32