用它的名称提取矩阵列

时间:2017-04-23 15:45:34

标签: r matrix

我们假设你有一个矩阵定义为

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)列的名称及其值,以便您获得有关以下参数的信息:

  Days Amount 
     9   3200

但您还需要知道列名称,其中包含有关其值(即酒店名称)的实际信息。

您可以使用this question中的m1[, 3]来实现上述目标,但如何将其与列标题一起打印?(此处" Col3&#34 ;)

2 个答案:

答案 0 :(得分:2)

我们可以使用drop = FALSE而无需转换为data.frame

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

答案 1 :(得分:1)

您可以强制m1data.frame并切片所需的列

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