如果某些列包含 R 中的字符串,则变异变量

Mutate variable if certain columns contain string in R

我已经为这个数据集苦苦挣扎了几个小时。我已经搜索了几个小时并尝试了很多东西,但我失败了(我是 R 的新手)。所以我真的希望你们能帮助我。

我有这个数据集:

      df <- data.frame(ID = c(1,2,3,4,5), a.1 = c("A", "C", "C", "B","D"), a.2 = c("C", "C", "D", "A","B"), b.1 = c("D", "C", "A", "B","D"), b.2 = c("D", "B", "C", "A","A"))
    
  ID a.1 a.2 b.1 b.2
1  1   A   C   D   D
2  2   C   C   C   B
3  3   C   D   A   C
4  4   B   A   B   A
5  5   D   B   D   A

我想将一个名为“result”的新变量变为:

所以我会得到以下结果:

  ID a.1 a.2 b.1 b.2 result
1  1   A   C   D   D      1
2  2   C   C   C   B      0
3  3   C   D   A   C      0
4  4   B   A   B   A      1
5  5   D   B   D   A      1

在我的真实数据集中,我有 100 个前缀为“a.”的变量,所以我不能 select 单独列。

希望大家帮帮我!

非常感谢!

library(dplyr)

df %>% 
  rowwise() %>% 
  mutate(res = any(c_across(starts_with("a.")) %in% c("A", "B")) * 1L)

#> # A tibble: 5 x 6
#> # Rowwise: 
#>      ID a.1   a.2   b.1   b.2     res
#>   <dbl> <chr> <chr> <chr> <chr> <int>
#> 1     1 A     C     D     D         1
#> 2     2 C     C     C     B         0
#> 3     3 C     D     A     C         0
#> 4     4 B     A     B     A         1
#> 5     5 D     B     D     A         1