2011-08-16 51 views
2
  1. 我確實有ab元素的列表,過濾基於rowname表

    ab <- list("M","O","E","P","Q","S","T","N","V","R") 
    
  2. 在其他列表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) 
    
  3. 我們只需要過濾那些ta其中名單tb中的第一個表的第一個表中的第一個元素具有第一個元素ab,第二個表具有第二個元素等等。列表abtb中的元素數量相同。

  4. 如何將列表中的表名與元素列表進行匹配?

回答

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-字母都不在,所以我只是檢查了一下NMO名單,如果我是缺少一些:

> tb[[8]] N M 
O 1 4 
M 2 3 

但AB [8] = 「N」是不是在tb的rownames [[8]]

+0

非常感謝你 – Ram