R,按名称访问矩阵的列向量

时间:2013-03-08 15:41:21

标签: r matrix attributes

在R中,我可以通过以下方式访问列矩阵的列向量中的数据:

mat2[,1]

mat2的每一列都有一个名称。如何使用name属性而不是[,1]来检索第一列中的数据?

例如,假设我的第一列名为“saturn”。我想要像

这样的东西

mat2[,1] == mat2[saturn]

2 个答案:

答案 0 :(得分:18)

以下应该这样做:

mat2[,'saturn']

例如:

> x <- matrix(1:21, nrow=7, ncol=3)
> colnames(x) <- paste('name', 1:3)
> x[,'name 1']
[1] 1 2 3 4 5 6 7

答案 1 :(得分:11)

奖励信息(添加到第一个答案)

x[,c('name 1','name 2')]

将返回两列,就像你已经完成

一样
x[,1:2]

最后,相同的操作可用于子行

x[1:2,]

如果行被命名为......

x[c('row 1','row 2'),]

注意括号内的逗号位置和索引的位置。