【发布时间】:2020-11-26 17:00:51
【问题描述】:
我有一个问题:是否有一个 R 函数可以自动将二进制变量编码为因子?
我有一个包含 80 多个变量(列)的 tibble,其中许多是 R 导入为 numeric 的布尔性质(0、1 和 NA)。由于我想避免手动将它们转换为因子,我想知道data.frame(或@987654322)中是否有能够自动检测二进制数字变量的函数@) 并将它们更改为因子?我可以自己创建这样的函数,但如果它已经存在,为什么还要麻烦呢?
【问题讨论】:
-
也许是
purrr::map_df(df, as.factor)? -
您需要
function(x) { if(all(x %in% c(0, 1, NA)) as.factor(x); x }之类的东西吗? -
导入时可以设置colClasses,例如:
x <- read.table(..., colClasses = "factor") -
@markus 是的,可能是这样的。并非我的所有列都是二元变量(我也有连续变量和多水平因子)。 Allan 我不知道这个 map_df 函数,但我会看看它。感谢您的回复!
-
我不确定 [binary-data] 标签是否真的合适...