从 R 中的矩阵中删除行名列表

标签 r matrix

我有一个条目矩阵:

testMat <- matrix(1:30, nrow = 10)
rownames(testMat) <- letters[1:10]

...和行名列表:

rem <- c("d", "e", "f", "i")

提取仅包含列表“rem”中提供的名称的行的矩阵很容易:

testMat[rem,]

按照这个逻辑,我想从矩阵中删除列表“rem”中提供的名称的行。但是

testMat[-rem,]

失败,-rem 错误:一元运算符的参数无效。 为什么那不起作用?

最佳答案

您正在寻找 %in%:

testMat[!rownames(testMat) %in% rem, ]

  [,1] [,2] [,3]
a    1   11   21
b    2   12   22
c    3   13   23
g    7   17   27
h    8   18   28
j   10   20   30

负索引仅适用于数字索引。

关于从 R 中的矩阵中删除行名列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22040206/

相关文章:

r - 使用DiagrammeR 绘制igraph 网络

r - 带有 lapply 和 sapply 的日期

matlab - 如何在 Matlab 中找到二维矩阵排列后的映射

r - 将上面一行按下面一行划分

c++ - 在 C++ 中填充对称矩阵

python - R数据框的首选数据格式

r - 在 x 轴上绘制月份下方的年份

android - 在不调整大小的情况下生成旋转位图

r - 矩阵表达式导致错误 "requires numeric/complex matrix/vector arguments"?

r - 过滤仅显示重复项的数据框