一步将因子转换为逻辑

Jef*_*ler 3 r data.table

是否可以X使用 data.table 的“就地”方法一步将我的因子列转换为逻辑列?

myDT <- data.table(X = factor(c("true", "false")))
str(myDT)

myDT[, X := as.logical(X)] # does not work

myDT[, X := as.logical(as.character(X))] # does not work either

# but this does
myDT[, X := as.character(X)]
myDT[, X := as.logical(X)]
str(myDT)
Run Code Online (Sandbox Code Playgroud)

akr*_*run 5

更新您的data.table安装;这是一个bug,从1.9.8版本开始修复,现在factors可以直接转换为logicals。

\n\n
library(data.table)\nmyDT[, X:= X=="true"]\nstr(myDT)\n#Classes \xe2\x80\x98data.table\xe2\x80\x99 and \'data.frame\':  2 obs. of  1 variable:\n# $ X: logi  TRUE FALSE\n
Run Code Online (Sandbox Code Playgroud)\n