如何子集矩阵到一列,维护矩阵数据类型,维护行/列名称?

当我将一个矩阵子集设置为一列时,结果是数值类,而不是矩阵(例如,myMatrix [ ,5]设置为第五列的子集)。是否有一种简洁的方法来子集到一个单独的列,维护矩阵格式,并维护行/列名称,而不需要执行如下复杂的操作:

matrix( myMatrix[ , 5 ] , dimnames = list( rownames( myMatrix ) , colnames( myMatrix )[ 5 ] )
35145 次浏览

Use the drop=FALSE argument to [.

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