【发布时间】:2021-04-14 13:21:21
【问题描述】:
我有一个如下所示的数据框:
a b c d
1 0 1 1
.5 1 1 0
.5 1 .5 .5
0 0 1 NA
0 1 0 1
我想检查 3 列中的任何一列是否包含相同的值,因此输出如下所示:
val. count
1 1
.5 1
我正在尝试对任意 n 个列执行此操作。到目前为止,我只是使用 ifelse 语句对每个场景进行硬编码,如下所示:
t <- data %>%
select(ivs) %>%
mutate(all = ifelse(a == 1 &
b == 1 &
c == 1 &
d == 1, 1 , 0),
any_3 = ifelse((a == 1 &
b == 1 &
c == 1 &
d == 0) |
(a == 1 &
b == 1 &
c == 0 &
d == 1) |
(a == 0 &
b == 1 &
c == 1 &
d == 1)|
(a == 0 &
b == 1 &
c == 1 &
d == 1), 1, 0 ) )
我希望有更好的方法来做到这一点。谢谢!
【问题讨论】:
标签: r if-statement dplyr