首页 > 解决方案 > 从字符向量列表中选择公共项

问题描述

我想从字符向量列表中找到常用字符。以下是可以解决问题的示例。但是我有一个包含 100 个字符向量的列表,我想使用 for 循环来迭代循环并获取常见的字符项

ab <- c ("a", "b", "c", "g")
cd <- c("a" ,"d", "c", "e", "f")
ef <- c("a", "c", "i", "r", "t")
dat <- list(ab,cd,ef)

Reduce(intersect, dat)
[1] "a" "c"

编辑:我的问题是我有一个大列表,其中嵌套了字符向量。这就是我想使用for循环遍历列表并从字符向量中找到常见项目的原因。

我尝试了如下所示的操作,但没有得到任何输出

for (i in 1: seq_along(dat))
{
   op <- Reduce(intersect, dat[[i]])
}

标签: r

解决方案


以下代码可用于使用for循环解决问题:

ab <- c ("a", "b", "c", "g")
cd <- c("a" ,"d", "c", "e", "f")
ef <- c("a", "c", "i", "r", "t")
dat <- list(ab,cd,ef)

op <- vector()
for (i in seq_along(dat)) 
{
  op[i] <- list(dat[[i]])  
}
op.final <- Reduce(intersect, op)

推荐阅读