2017-04-23 108 views
2

比方說,你必須定義爲提取矩陣列的名稱

m1 = matrix(
    rbind(c(12,8,9),c(4100,3600,3200)), 
    byrow=FALSE, 
    nrow=2, 
    ncol=3, 
    dimnames=list(c("Days","Amount"),c("Col1","Col2","Col3")) 
) 

的基質中產生:

 Col1 Col2 Col3 
Days  12 8 9 
Amount 4100 3600 3200 

而且你需要顯示(知道列的位置,在這裏3) name列和它的價值,讓您對類似的參數信息:

Days Amount 
    9 3200 

但你還需要硝酸鉀帶有一些關於其值的真實信息(即酒店名稱)的列名稱。

以上你可以用m1[, 3]來實現,如this question,但是如何將它與列標題一起打印?(這裏 「COL3」)

+2

只是'M1 ['COL3 」,降= FALSE]' – Jaap

+0

相關:[*通過矩陣列名*](節選矩陣列值http://stackoverflow.com/questions/5744694/r-extract-matrix-column-values-by-matrix-column -name) – Jaap

+1

@Jaap是否真的是重複的?我想提取列名與其值。鏈接的問題和答案不提供解決方案。在發佈之前,我已經查看了您的鏈接問題 –

回答

2

我們可以使用drop = FALSE,無須轉換爲data.frame

m1[,3, drop = FALSE] 
#  Col3 
#Days  9 
#Amount 3200 
+1

更快更好的感謝。 –

+0

無法找到該選項的任何文件。你能否提供一個參考鏈接? –

+1

@KamilG。你可以在'Extract'中找到它 – akrun

1

你可以強制m1data.frame,切片所需的列

as.data.frame(m1)[3] 
#OR 
as.data.frame(m1)["Col3"] 
#  Col3 
#Days  9 
#Amount 3200 
+1

感謝選項,並沒有想到要使用的數據幀。好的和快速的答案。 –