【问题标题】:Correct syntax to put multiple options into single case to reduce case_when cases dplyr将多个选项放入单个案例以减少 case_when 案例 dplyr 的正确语法
【发布时间】:2022-06-29 04:22:05
【问题描述】:

是否可以将多种可能性放入 case_when 案例而不是重复?

例如,在此数据中,如果 x1 包含“foo”或“bar”,我希望 checkT

 q= tibble(x1 = c("foo", "bar", "foo", "bu", "ba"))

我试过了:

q%>%mutate(check = case_when(x1== "foo"|"bar" ~T,
                             T~F))

q%>%mutate(check = case_when(x1== "foo|bar" ~T,
                             T~F))

这些出现错误或全部FALSE

【问题讨论】:

    标签: r dplyr


    【解决方案1】:

    诀窍是使用%in% 而不是==

    x1中的字符串是否在向量c("foo", "bar")中找到

    q%>%mutate(check = case_when(x1 %in% c("foo", "bar")~T,
                                 T~F))
    
    # A tibble: 5 x 2
      x1    check
      <chr> <lgl>
    1 foo   TRUE 
    2 bar   TRUE 
    3 foo   TRUE 
    4 bu    FALSE
    5 ba    FALSE
    

    【讨论】:

      猜你喜欢
      • 2018-05-27
      • 1970-01-01
      • 2020-08-30
      • 2022-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多