我在ab
,
ab <- list("M","O","E","P","Q","S","T","N","V","R")
在其他列表tb
中,是一个2 * 2表的列表,如
样本数据集
n <- c("M", "N", "O")
tb <- lapply(1:10, function(i)matrix(sample(4), 2, 2,
dimnames=list(n[sample(3,2)],
n[sample(3,2)])))
names(tb) <- paste(1:10)
我们只需要过滤那些列表tb
中第一个表的rowname在列表ab
中有第一个元素的表,第二个表有第二个元素,依此类推。列表ab
和tb
中的元素数量相同。
如何将列表中表格的rownames与元素列表相匹配?
答案 0 :(得分:1)
> is.in <- vector(len=length(ab))
> for(i in 1:length(ab) ) { is.in[i] <- ab[i] %in% rownames(tb[[i]])}
> is.in
#[1] TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
这些ab-letter中的大多数都不在NMO列表中,所以我只是检查一下我是否错过了一些:
> tb[[8]] N M
O 1 4
M 2 3
但是ab [8] =“N”不在tb [[8]]
的rownames中