基于rowname筛选表

基于rowname筛选表,r,R,我在ab中有一个元素列表 ab <- list("M","O","E","P","Q","S","T","N","V","R") 我们只需要过滤那些列表中第一个表的行名tb在列表中有第一个元素ab,第二个表有第二个元素的表,依此类推。列表ab和tb中的元素数量相同 如何将列表中表的行名与元素列表相匹配 但是ab[8]=“N”不在tb[[8]]的行名中 n <- c("M", "N", "O") tb <- lapply(1:10, function(i)matrix(sam

我在
ab
中有一个元素列表

ab <- list("M","O","E","P","Q","S","T","N","V","R")
  • 我们只需要过滤那些列表中第一个表的行名
    tb
    在列表中有第一个元素
    ab
    ,第二个表有第二个元素的表,依此类推。列表
    ab
    tb
    中的元素数量相同

  • 如何将列表中表的行名与元素列表相匹配

  • 但是ab[8]=“N”不在tb[[8]]的行名中

    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)
    
    > 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
    
     > tb[[8]] N M
    O 1 4
    M 2 3