r - 防止 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)
解决方案
尝试
testm <- testm[-1,,drop=FALSE]
推荐阅读
- javascript - Array.reduce() 按对象字段分组并将所有其他字段扩展到其相应的分组对象字段
- jasper-reports - 如果数值介于两个数字之间,如何显示消息?
- java - JAXB。如何使用 JAXB 解析 XML 在 POJO 类中填充内部类/列表?
- c++ - 在交叉编译器目录中运行 .build.sh 文件时出错
- swift - 使用 swift 处理通过 cordova 插件中的 FCM APNs 接口收到的消息
- javascript - 如何在 JavaScript 中使用 Google Map 填充输入字段后填充纬度和经度
- python - 如何在csv文件中创建一个循环?
- laravel - 如何在 Laravel 模型中使用具有 belongsToMany 关系的范围方法
- java - 一个 Java 独立应用程序在 Oracle Solaris 11.4 操作系统中执行需要更多时间,而在 Red Hat Linux 服务器中执行时间减少 3 倍
- javascript - 通过带有输入字段的嵌套 ul/li 结构过滤,如果输入为空则重置为原始状态