我有一个条目矩阵:

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

...和一个行名列表:
rem <- c("d", "e", "f", "i")

提取仅包含列表 'rem' 中提供的名称的行的矩阵很容易:
testMat[rem,]

按照这个逻辑,我想从矩阵中删除列表“rem”中提供的名称的行。但
testMat[-rem,]
Error in -rem : invalid argument to unary operator 失败。
为什么这不起作用?

最佳答案

您正在寻找 %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/

10-15 13:21