【发布时间】:2020-07-14 10:36:15
【问题描述】:
我想根据列表输入(将动态更改)对大型矩阵(列和行)进行子集化。示例(请参见下面的可重现示例):我有一个对称矩阵 (x) 和一个列表,其中包含我想要在我的子集(类别)中拥有的行和列。如何对行和列进行子集化,以便我的结果仅显示 a 和 c 的行和列(请参阅所需的输出)
categories = c("a", "c")
a = c(2,3,4)
b = c(1,9,8)
c = c(5,6,7)
x = cbind(a,b,c)
rownames(x) <- c("a", "b", "c")
x = as.matrix(x)
# attempt:
result = x[x %in% categories == TRUE]
desired output
a = c(2,4)
c = c(5,7)
y = cbind(a,c)
rownames(y) <- c("a", "c")
y = as.matrix(y)
【问题讨论】: