【问题标题】:use dplyr to create dummy variables使用 dplyr 创建虚拟变量
【发布时间】:2014-04-01 16:22:24
【问题描述】:

我正在尝试使用dplyr

假设您有 data.frame y 并且您想根据 var1 的值创建一个新变量

y <- data.frame(var1 = rnorm(100))
y$var2 <- 0
y$var2[y$var1 > 0.5] <- 1

是否可以使用dplyrmutatefilter 来做到这一点?

【问题讨论】:

    标签: r dplyr


    【解决方案1】:

    试试mutate:

    > y <- data.frame(var1 = (-2):2)
    > y %>% mutate(var2 = as.numeric(var1 > 0.5))
      var1 var2
    1   -2    0
    2   -1    0
    3    0    0
    4    1    1
    5    2    1
    

    更新: dplyr 现在使用 %&gt;% 代替 %.%

    【讨论】:

    • 如果 var1 有缺失值怎么办?
    • 如果 var1 中有 NA,则 dummy 也将是 NA。您可以使用mutate(var2 = ifelse(is.na(var1),0,ifelse(var1&gt;0.5,1,0))),它会将 0 分配给 NA。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2021-10-31
    • 2018-04-06
    • 2018-08-22
    • 2020-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多