r - 仅保留 3 列中至少有一列等于给定值的行

标签 r dplyr filter

我有一个数据框,我想在其中过滤到 3 个不同列中至少有一个具有值“D”的行

示例 df:

<表类=“s-表”> <标题> 标识符 定义 abc ghi <正文> 1 D C 一个 2 一个 D D 3 B C 一个 4 一个 D 一个

我希望我的输出是:

<表类=“s-表”> <标题> 标识符 定义 abc ghi <正文> 1 D C 一个 2 一个 D D 4 一个 D 一个

我想使用 dplyr filter() 但找不到如何过滤到我需要的内容

最佳答案

使用if_any:

library(dplyr)
dat %>%
  filter(if_any(-identifier, ~ .x == "D"))

  identifier def abc ghi
1          1   D   C   A
2          2   A   D   D
3          4   A   D   A

关于r - 仅保留 3 列中至少有一列等于给定值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74264951/

相关文章:

r - 在 Rcpp 中 - 如何返回带有名称的向量

Java Stream API 比较数组中的字符串

r - 使用汇总(dplyr)的结果来变异原始数据帧

java - 在 Android 应用程序中实现低通滤波器 - 如何确定 alpha 值?

Cs50 的问题集 4 - 无滤波器 - 反射函数

r - Emacs ESS 不会调用 R

删除四开标题幻灯片上的幻灯片编号和页脚

R:按值选择行并始终包含上一行

r - Dplyr 对分组数据同时按值过滤顶行和底行

r - 如何对 R 中管道序列中的列选择应用函数?