【问题标题】:Binary conditional coding in DplyrDplyr 中的二进制条件编码
【发布时间】:2020-02-22 11:54:44
【问题描述】:

我正在尝试在 R 中进行二进制条件编码:

假设我们想在 mtcars 数据集中创建一个名为 binary_col 的新列,如果 qsec 列大于或等于 16,则该列等于 1,否则为 0。

使用下面的代码不起作用:

library(ggplot2)
library(dplyr)

df <- mtcars
df %>% head


df %>% mutate(binary_col = if (qsec >= 16) {
  binary_col = 1
})

df %>% head

【问题讨论】:

    标签: dplyr dataset rstudio


    【解决方案1】:

    试试

    df %>% mutate(binary_col = ifelse(qsec >= 16, 1,0))

    【讨论】:

      【解决方案2】:

      您不需要为此使用if_else。以下工作完全正常:

      mtcars %>%
        mutate(binary_col = qsec >= 16)
      

      如果你想要 0 和 1,你只需要在二进制向量上使用as.integer()

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-18
        • 2011-05-08
        • 1970-01-01
        • 2015-09-12
        相关资源
        最近更新 更多