filter.by.colnames <- function(tab.list, col.names) {
lapply(tab.list, function(product) Filter(function(tab) col.names %in% colnames(tab), product))
}
此函数将为您提供来自 tab.list 的表列表列表,其中列名中包含 col.names 中的字符串。
>tab.list <- list(ProductA = list(Table1 = table(1:3, c('a', 'b', 'c')),
Table2 = table(1:3, c('j', 'k', 'l'))),
ProductB = list(Table1 = table(1:3, c('i', 'ii', 'iii')),
Table2 = table(1:3, c('a', 'b', 'c')),
Table3 = table(1:3, c('m', 'n', 'o'))
))
>filter.by.colnames(tab.list, c('a'))
给你
$ProductA
$ProductA$Table1
a b c
1 1 0 0
2 0 1 0
3 0 0 1
$ProductB
$ProductB$Table2
a b c
1 1 0 0
2 0 1 0
3 0 0 1