我如何修改此代码块以重新编码我的数据框中的所有 ~400 个变量,而不仅仅是一个?
How can I modify this code chunk to recode all ~400 variables in my dataframe and not just one?
我在 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")
我们可以使用 mutate
和 across
library(dplyr)
out <- data_train %>%
mutate(across(everything(), ~ as.integer(. != 0)))
或使用base R
out <- as.data.frame(+(data_train != 0))
我在 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")
我们可以使用 mutate
和 across
library(dplyr)
out <- data_train %>%
mutate(across(everything(), ~ as.integer(. != 0)))
或使用base R
out <- as.data.frame(+(data_train != 0))