【发布时间】:2018-09-06 18:33:22
【问题描述】:
我正在使用 dplyr 与 R 进行一些数据争论。
我正在导入的数据是基于 CSV 并使用 readr 导入的。
我有很多列,其中“Y”代表 TRUE,“N”代表 FALSE,空代表 NA。
目前我将它们作为因子引入,然后使用 dplyr::mutate_at 使用以下函数转换所有受影响的列:
factor_to_logical_y_na_n <- function(x) {
dplyr::case_when(
x == "Y" ~ TRUE,
is.na(x) ~ NA,
TRUE ~ FALSE)
}
我怀疑有一种更有效的方法可以做到这一点(300,000 行和 400 列可能会有所帮助)。
有人对更有效的方法有什么建议吗?
【问题讨论】:
-
随便
x == "Y" -
使用
stringsAsFactors == FALSE这样你就没有转换成因子和从因子转换的开销