当我将一个矩阵子集为一列时,结果是数值类,而不是矩阵(即myMatrix[,5]子集为第五列).是否有一种简洁的方法可以将数据子集到一个列,保持矩阵格式,并保持行/列名,而无需执行以下复杂操作:
matrix( myMatrix[ , 5 ] , dimnames = list( rownames( myMatrix ) , colnames( myMatrix )[ 5 ] )
当我将一个矩阵子集为一列时,结果是数值类,而不是矩阵(即myMatrix[,5]子集为第五列).是否有一种简洁的方法可以将数据子集到一个列,保持矩阵格式,并保持行/列名,而无需执行以下复杂操作:
matrix( myMatrix[ , 5 ] , dimnames = list( rownames( myMatrix ) , colnames( myMatrix )[ 5 ] )
使用drop=FALSE
参数转换为[
.
m <- matrix(1:10,5,2)
rownames(m) <- 1:5
colnames(m) <- 1:2
m[,1] # vector
m[,1,drop=FALSE] # matrix