是否可以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)
更新您的data.table
安装;这是一个bug,从1.9.8版本开始修复,现在factor
s可以直接转换为logical
s。
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