Подтвердить что ты не робот

R, обращаясь к вектору столбца матрицы по имени

В R я могу получить доступ к данным в векторе столбца матрицы столбцов следующим образом:

mat2[,1]

Каждый столбец из mat2 имеет имя. Как получить данные из первого столбца с помощью атрибута name вместо [,1]?

Например, предположим, что мой первый столбец имел имя "сатурн". Я хочу что-то вроде

mat2[,1] == mat2[saturn]

4b9b3361

Ответ 1

Следующее должно сделать это:

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

Ответ 2

Информация о бонусе (добавление к первому ответу)

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

будет возвращать два столбца так же, как если бы вы сделали

x[,1:2]

И, наконец, те же самые операции можно использовать для подмножества строк

x[1:2,]

И если строки были названы...

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

Обратите внимание на положение запятой в скобках и по индексам.