【问题标题】:Function to create dichotomic var (0/1) using mutate and case_when使用 mutate 和 case_when 创建二分法 var (0/1) 的函数
【发布时间】:2020-05-26 18:00:39
【问题描述】:

我正在尝试创建一个函数,它将类别为 1 / 2 的变量重新编码为 0 / 1。 像这样的:

var_dic <- function(data, x){
  mutate(x_rec, case_when(
              x == 1 ~ 1,
              x == 2 ~ 0,
              TRUE ~ NA_real_))
}

var1 <- c('1', '2', '1', '1', '2', NA, '2', NA)
var2 <- c('1', '1', '2', '2', '2', NA, '2', NA)
id <- c(1,2,3,4,5,6, 7, 8)
testing.df <- data.frame(id, var1, var2)

但我收到与“x_rec”相关的错误。我希望这部分代码建立新变量的名称。我想我应该在某处包含 paste0,但不确定代码中的方式或位置。

【问题讨论】:

    标签: r function dplyr case-when


    【解决方案1】:

    我们也可以使用data

    var_dic <- function(data, x){
       data %>%
          mutate(!! {{x}} := case_when(
              {{x}} == 1 ~ 1,
              {{x}} == 2 ~ 0,
              TRUE ~ NA_real_))
        }
    

    【讨论】:

      猜你喜欢
      • 2020-03-26
      • 1970-01-01
      • 2023-03-05
      • 2022-11-08
      • 1970-01-01
      • 2018-11-08
      • 2019-08-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多