2017-04-23 117 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

感谢选项,并没有想到要使用的数据帧。好的和快速的答案。 –