首页 > 解决方案 > 防止 R 将矩阵降级为向量

问题描述

需要减少一个矩阵,直到它只剩下一个元素。在我有一个 2x2 矩阵之前,它工作得很好。当我从 2x2 矩阵中删除一行或一列时,我没有得到一个 1x2 或 2x1 矩阵,而是得到一个向量,我的代码就会崩溃。

测试用例:

# 2x2 matrix. remove row and column to get 1x1 matrix
testm <- matrix( data=0, nrow=2, ncol=2, dimnames=list(c("A","B"),c("A","B")))
print(testm)
print(is.matrix(testm))  # TRUE
testm <- testm[-1,]      # should result in 1x2 matrix
print(testm)             # vector
print(is.matrix(testm))  # FALSE
testm <- testm[,-1]      # error
print(testm)

标签: rmatrix

解决方案


尝试

testm <- testm[-1,,drop=FALSE]   

推荐阅读