【问题标题】:Remove Non-Matching Dataframe Names Nested in A List删除嵌套在列表中的不匹配数据框名称
【发布时间】:2019-07-26 00:03:54
【问题描述】:

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

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

谢谢。

【问题讨论】:

标签: r


【解决方案1】:

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

##-- 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]

【讨论】:

    【解决方案2】:

    您可以匹配列表的名称并保留常用名称。

    keep <- match(names(disease_df_quintile), names(df_quintile))
    new_df_quintile <- df_quintile[keep]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-14
      • 1970-01-01
      • 1970-01-01
      • 2019-12-15
      • 1970-01-01
      • 2018-12-25
      相关资源
      最近更新 更多