Как подмножество матрицы в один столбец, поддерживать тип данных матрицы, поддерживать имена строк / столбцов?


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

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

1 ответ:

использовать до [.

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