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

Cod*_*lus 19 attributes r matrix

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

mat2[,1]
Run Code Online (Sandbox Code Playgroud)

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

例如,假设我的第一列名为"saturn".我想要类似的东西

mat2[,1] == mat2[saturn]

NPE*_*NPE 20

以下应该这样做:

mat2[,'saturn']
Run Code Online (Sandbox Code Playgroud)

例如:

> 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
Run Code Online (Sandbox Code Playgroud)


ndo*_*gan 13

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

x[,c('name 1','name 2')]
Run Code Online (Sandbox Code Playgroud)

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

x[,1:2]
Run Code Online (Sandbox Code Playgroud)

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

x[1:2,]
Run Code Online (Sandbox Code Playgroud)

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

x[c('row 1','row 2'),]
Run Code Online (Sandbox Code Playgroud)

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