R:将跨字符调用转换为 data.table

R: convert mutate across character call to data.table

抱歉,如果我找不到原始的 post 来解释如何执行此 tidyversedata.table 的转换。

我想 mutate 所有字符向量替换字符向量中的 <NA> 值。

如何将以下文本翻译成 data.table

library(tidyverse)
library(data.table)
mtcars <- mtcars %>% 
  mutate(across(where(is.character), ~na_if(.,"")))

我们可以使用

library(data.table)
nm1 <- names(mtcars)[sapply(mtcars, is.character)]
setDT(mtcars)[, (nm1) := lapply(.SD, function(x) replace(x, x == "", NA)), .SDcols = nm1]