我有一个矩阵我想快速使用两个标准进行分组。 1)colnames匹配rownames和2)一个矩阵中的值为FALSE
m
[,1]
A 1
B 2
C 3
D 4
E 5
tf
E B A
[1,] FALSE FALSE TRUE
输出应为
m2
[,1]
E 5
B 2
答案 0 :(得分:2)
由于'tf'只有一行,当我们通过否定对逻辑矩阵进行子集时,会导致命名为vector
的子集([
)默认为{{1} }。从drop=TRUE
中提取names
并将其用作行索引以对“m”进行子集化。在这里,我们可以使用vector
,因为'm'中只有一列。
drop=FALSE
m[names(tf[,!tf]), , drop=FALSE]
# [,1]
#E 5
#B 2