首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将1列tibble列表与单个1列tibble进行比较

将1列tibble列表与单个1列tibble进行比较
EN

Stack Overflow用户
提问于 2020-04-29 22:55:03
回答 1查看 14关注 0票数 0

当涉及到R时,我对编程非常陌生,我认为我对我想要做的事情一无所知。我有一个包含9个项目的列表,每个项目由1列组成,其中包含大约50个项目作为字符。我想将列表中的每个tibble与另一个1列tibble进行比较。我已经知道没有一个是相同的,但一些值是相同的。因此,我希望每次比较都返回一个TRUE或FALSE值的列表,这取决于是否在单个tibble中找到了tibble列表中的每个值。像我在%中使用的%一样,单独比较两个tibble是很容易的,但困难的部分是迭代通过tibble列表进行比较,而不必使用%in%命令一次比较一个。

这是我到目前为止尝试过的:

代码语言:javascript
复制
mapply(function(x,y){any(x %in% y)}, tibble_list, single_tibble)

因为它们不相等,所以这只比较了两个变量之间的差异并返回FALSE。

代码语言:javascript
复制
for (val in tibble_list) {val$Column.Name %in% single_tibble$Column.Name}

这完美地打印出了所有内容,但是当我尝试存储这些值时,它只存储了最后一次迭代。

我怀疑可以使用map函数,但正如我所说的,我是R的新手,这与Python非常不同。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-04-30 04:34:22

如果它是tibble_list中的单个列,为了与'single_tibble‘列进行比较,我们可以使用lapplymap (来自purrr)

代码语言:javascript
复制
 out <- lapply(tibble_list, function(dat) dat$Column.Name %in% single_tibble$Column.Name)

for循环中,我们需要将每次迭代的输出赋给list

代码语言:javascript
复制
out1 <- vector('list', length(tibble_list))
for (i in seq_along(tibble_list)) {
        out1[[i]] <- tibble_list[[i]]$Column.Name %in% single_tibble$Column.Name
   }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61504818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档