我通过说:
宣布1乘6矩阵A.A <- matrix(1:6, nrow=1)
然后我做暗淡(A)并且按照预期我得到1乘6 ...然后我做A [,2:5]我希望这是一个1到4的矩阵,带有条目2, 3,4,5 ......但是暗淡(A [,2:5])给我NULL!它降级为矢量或其他东西。我怎么能避免这个?
我最终会尝试做类似的事情:
A[,a:b] %*% X[a:b,a:b] %*% t(A[,a:b])
改变a和b所以我只能将上述矩阵的一部分相乘...但是当A衰变成向量时,这会中断......
由于
答案 0 :(得分:9)
使用,drop=FALSE
作为涉及]
的附加(尾随)参数。
示例:
R> M <- matrix(1:4,2,2)
R> M[,2] ## looses matrix class
[1] 3 4
R> M[,2,drop=FALSE] ## forced to a n x 1 matrix
[,1]
[1,] 3
[2,] 4
R>
这可能是 主要常见问题解答,但出于兼容性原因,行为不太可能发生变化。