首页 文章

在R中,如何通过另一个数据框的列名删除数据框中的行?

提问于
浏览
1

我有一个数据帧(df1),其中包含超过200列包含数据(每行数千行) . 列名是字母数字,并且彼此不同 .

我有一个第二个数据集(df2),其中有几列,其中第一列(名为'col1')包含带有“值”的行,其中包含df1的共同名称 .

但是对于df2中的每一行都没有,我在df1中有一个相应的列 .

现在我想删除(删除)df2中df1中没有“对应”列的所有行 .

我使用像"subset data.frame by values from another data.frame"这样的关键字搜索了很长时间,但没有找到任何解决方案 . 我查了一下,例如hereherehere等一些地方 .

谢谢你的帮助 .

1 回答

  • 3

    数据:

    df1 <- data.frame(a = 1:3, b = 1:3)
    #   a b
    # 1 1 1
    # 2 2 2
    # 3 3 3
    
    df2 <- data.frame(col1 = c("a", "c"))
    #   col1
    # 1    a
    # 2    c
    

    保留 df2 中的值,其值为 df1 中的名称:

    subset(df2, col1 %in% names(df1))
    #   col1
    # 1    a
    

相关问题