r - Lapply 使用另一个列表作为标准过滤一个列表的值
问题描述
假设您有一个名为 list1 的数据框列表和另一个名为 list2 的数据框列表。
两个列表都有关于同一个人的数据,并且您有一个唯一的 ID 来识别他们。我想过滤第二个列表以仅包含有关第一个列表中的个人的数据。
我在想这些方面的东西:
list1 %>% lapply(distinct, ID) -> id1
list2 %>% lapply(filter, ID %in% id1) -> list2
所以,我想在两个列表中逐个元素地迭代匹配过滤器函数,比如,
filter(list2[[1]], ID %in% id1[[1]])
等等。
但是,这种方法行不通。我相信这是因为标准是一个列表。使用以下 for 循环,我能够获得所需的结果:
for (i in seq(list2)) {
list2[[i]] %>%
filter(ID %in% id1[[i]][,1]) -> list2[[i]]
有没有办法使用 lapply() 来做我描述的事情?
解决方案
推荐阅读
- javascript - 为什么 console.log 将裸 'foo' 视为 ID 而不是变量?
- python - 了解 Python 中 2 个列表之间是否有共同项目的最快方法?
- python - Python扫雷游戏 - 用户选择网格大小和多少地雷
- android - JetpackCompose 中 @Preview 的 isInEditMode 模拟
- android - 我如何将列表视图项目居中
- r - 通过 shell 执行包含 read_sf 的 R 脚本时无法打开“--file=script.r”
- zabbix - 如何打开10051端口
- mysql - Sequelize(1个用户有很多帖子,1个帖子有1个用户,1个帖子有很多评价属于一个用户)
- python - Pycharm 警告 - '相对导入包外'
- ios - 如何初始化 UIDocumentPickerViewController 注意到“forOpeningContentTypes”(来自 doco)在 IOS 中似乎已被弃用?