我想要删除我的数据框中看起来像

df <- data.frame(col1 = c("a", "a", "m", "m", "m", "m", "n", "q"),
                 col2 = c("a", "b", "m", "x", "y", "z", NA, "p"))
  col1 col2
1    a    a
2    a    b
3    m    m
4    m    x
5    m    y
6    m    z
7    n <NA>
8    q    p

我只关注Col1中的am,因为这些值出现在Col2中.我想删除Col1Col2没有匹配值的行. Note:考虑到所提供的df只是我庞大的数据集的一个可重现的示例,指定像‘a’或‘m’这样的单个值是不合适的.

我想要的结果

  col1 col2
1    a    a
2    m    m
3    n   <NA>
4    q    p

有什么建议吗?非常感谢你的帮助!

推荐答案

你可以试试这个

df %>%
    filter(col1 == col2 | !col1 %in% intersect(col1, col2))

这给了我们

  col1 col2
1    a    a
2    m    m
3    n <NA>
4    q    p

R相关问答推荐

如果列中存在相同的字符串,则对行值进行总和

R中具有gggplot 2的Likert图,具有不同的排名水平和显示百分比

R箱形图gplot 2 4组但6个参数

在RStudio中堆叠条形图和折线图

通过在colname中查找其相应值来创建列

以相同的方式对每个表进行排序

如何在PackageStatus()中列出&q;不可用的包&q;?

R中Gamma回归模型均方误差的两种计算方法不一致

使用R将简单的JSON解析为嵌套框架

如何计算每12行的平均数?

使用gt_summary是否有一种方法来限制每个变量集进行配对比较?

是否有可能从边界中找到一个点值?

避免在图例中显示VLINS组

变异以按组从其他列创建具有最大和最小值的新列

如何在内联代码中添加额外的空格(R Markdown)

我正在try 创建一个接近cos(X)的值的While循环,以便它在-或+1-E10范围内

使用同一行中的前一个值填充R矩阵中的缺失值

合并多个数据帧,同时将它们的名称保留为列名?

reshape 数据帧-基于组将行转换为列

通过不完全重叠的多个柱连接