首页 > 解决方案 > 删除嵌套在列表中的不匹配数据框名称

问题描述

我有两个由数据框组成的列表 - df_quintile 和 disease_df_quintile。我不知道如何简洁地表示它们,但这就是它们在 Rstudio 中的样子:

在此处输入图像描述

在此处输入图像描述

注意,disease_df_quintile 由 5 个数据帧(数据帧 1 到 5)组成,而 disease_df_quintile 由 4 个(数据帧 2 到 5)组成。我想交叉检查两个列表并删除两个列表未共享的任何数据帧 - 所以在这种情况下,我想从 df_quintile 列表中删除第一个数据帧。我怎样才能做到这一点?

谢谢你。

标签: r

解决方案


独立于列表的内容,您可以首先找到重复的名称,然后对列表进行子集化:

##-- Fake lists
l1 <- as.list(1:5)
names(l1) <- 1:5

l2 <- as.list(2:5)
names(l2) <- 2:5

##-- Common names and subsetting
common_names <- intersect(names(l1), names(l2))
l1 <- l1[common_names]
l2 <- l2[common_names]

推荐阅读