R data.table在一步中将因子转换为逻辑

时间:2016-10-28 14:02:02

标签: r data.table

是否可以使用data.table"""就地"在一步中将我的因子列X转换为逻辑列。方法

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)

1 个答案:

答案 0 :(得分:3)

更新data.table安装;这是一个修复过的错误,从版本1.9.8开始,现在factor可以直接转换为logical

library(data.table)
myDT[, X:= X=="true"]
str(myDT)
#Classes ‘data.table’ and 'data.frame':  2 obs. of  1 variable:
# $ X: logi  TRUE FALSE