r - 检查行在 R 中是否具有特定值

标签 r dplyr

在 case_when 中,我当前正在使用:

rowSums(select(., starts_with('type')), na.rm = TRUE) > 0

检查以“type”开头的行是否全部为 NA。

有没有办法检查该行中是否存在“1”?如果该行中至少有一个 1,则返回 true;如果不存在任何 1,则返回 false。

谢谢!

最佳答案

我们可以将数据的select子集更改为带有==的逻辑矩阵,然后应用rowSums > 在矩阵上,检查行总和是否大于 0

library(dplyr)
...
rowSums(select(., starts_with('type')) ==1, na.rm = TRUE) > 0

除了上述之外,还可以使用if_any来完成

...
if_any(starts_with('type'), ~. == 1)

关于r - 检查行在 R 中是否具有特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69111896/

相关文章:

r - 以编程方式删除 dplyr 中的 `group_by` 字段

r - 使用条件对字符列进行排序/排列

r - Predict.svm 不预测新数据

r - 无论位置如何,寻找独特的组合

r - 计算以分号分隔的累积唯一因素 按名称分组

r - 将值排列在特定组内

R ggvis 交互式 slider ,用于计算 y 值(例如用于背景校正)

r - Julia 的包中是否有 rep() 函数?

r - R data.table中断导出函数

r - 创建一个列来枚举一组事件