当试图将多列数据表转换为因子列时,我遇到了意想不到的问题。将多个data.table列转换为R中的因子
library(data.table)
tst <- data.table('a' = c('b','b','c','c'))
class(tst[,a])
tst[,as.factor(a)] #Returns expected result
tst[,as.factor('a'),with=FALSE] #Returns error
后者命令返回“在Math.factor错误(J)::ABS为因素没有意义的”我如下再现它。当我尝试获取tst [,lapply(cols,as.factor),with = FALSE]时,我发现这是cols是我试图转换为因子的行集合。有没有解决方法或解决方法?
+1我添加了:[当with = FALSE,但j是错误的因素时,优雅地捕捉j上的内部abs()错误](https://r-forge.r-project.org/tracker/index.php ?func = detail&aid = 4867&group_id = 240&atid = 978) –