Как поместить матрицу в один столбец, сохранить тип данных матрицы, сохранить имена строк / столбцов? - PullRequest
68 голосов
/ 08 сентября 2011

Когда я помещаю матрицу в один столбец, результатом является числовой класс, а не матрица (т. Е. MyMatrix [, 5] для подмножества в пятом столбце).Существует ли компактный способ поднабора одного столбца, поддержания формата матрицы и сохранения имен строк / столбцов без выполнения чего-либо сложного, например:

matrix( myMatrix[ , 5 ] , dimnames = list( rownames( myMatrix ) , colnames( myMatrix )[ 5 ] )

1 Ответ

98 голосов
/ 08 сентября 2011

Используйте аргумент drop=FALSE для [.

m <- matrix(1:10,5,2)
rownames(m) <- 1:5
colnames(m) <- 1:2
m[,1]             # vector
m[,1,drop=FALSE]  # matrix
...