【问题标题】:How can I modify this code chunk to recode all ~400 variables in my dataframe and not just one?如何修改此代码块以重新编码我的数据框中的所有约 400 个变量,而不仅仅是一个?
【发布时间】:2021-08-01 02:39:32
【问题描述】:

我在 R 中写了这个来对一个由“0”或字符响应(如“sh6sej”)组成的字符变量进行虚拟编码,以便所有字符响应变为 1,所有 0 变为 0。它工作正常为一个变量。

但是,有没有办法修改它,以便它一次对我的数据框中的所有 400 个变量进行虚拟编码?

谢谢!

recode_mut <- function(var = "adgra2_mut", data=data_train) {
   recoded <- ifelse(data_train[[var]] == 0, 0,
                           ifelse(data_train[[var]] != 0, 1, NA))
   return(recoded)
}

recode_mut(var = "adgra2_mut")

【问题讨论】:

    标签: r dplyr dummy-variable


    【解决方案1】:

    我们可以使用mutateacross

    library(dplyr)
    out <- data_train %>%
         mutate(across(everything(), ~ as.integer(. != 0)))
    

    或使用base R

    out <- as.data.frame(+(data_train != 0))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-07
      • 1970-01-01
      相关资源
      最近更新 更多