r - 使用 Case_when

标签 r dplyr

我正在尝试将列中的某些值从 10、11、4 和 5 更改为 1。该列包含从 1 到 20 的值。我希望所有其他值(而不是上面列出的数字)变成 0。我认为一个案例是解决这个问题的好方法,但我将不胜感激任何帮助。我正在尝试创建虚拟变量,因此如果有更好的方法请告诉我。

    RUVDM = RUVDM %>% 
  mutate(Extrac = case_when(
    V015 == "10"~ 1,
    V015 == "11"~1,
    V015 == "4"~ 1,
    V015 == "5"~1,
    TRUE ~ 0)
  )

最佳答案

我们可以使用%in%代替==

library(dplyr)
RUVDM %>% 
    mutate(Extrac = case_when(
                  V015 %in% c(10, 11, 4, 5) ~ 1, TRUE ~ 0))

关于r - 使用 Case_when,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64975635/

相关文章:

r - 如何在 Linux 中升级 R?

r - 写入从 SparkR:::map 返回的 R 数据帧

r - 如何从R中的字符串列表中删除元素

r - cumsum() 截至并包括 dplyr 中的当前日期

r - 如何用另一个字符串顺序替换字符串的子序列

r - Factoextra - 更改椭圆和变量的线宽

r - 类别数不等于特定类别数

r - 在 R 中过滤多列高于特定阈值的数字

r - 使用 sum 对数据进行分类的 Case_when 问题 - R/dplyr 解决方案

r - 一旦累积值达到某个阈值 R 就保持行