tre*_*bot 14 r data.table
尝试将数据表的多个列转换为因子列时,我遇到了意外问题.我把它复制如下:
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
Run Code Online (Sandbox Code Playgroud)
后一个命令返回'Math.factor(j)中的错误:abs对因子没有意义'.我试图获得tst [,lapply(cols,as.factor),= = FALSE]时发现了这一点,其中cols是我试图转换为因子的行的集合.这有什么解决方案或解决方法吗?
tre*_*bot 26
我找到了一个解决方案
library(data.table)
tst <- data.table('a' = c('b','b','c','c'))
class(tst[,a])
cols <- 'a'
tst[,(cols):=lapply(.SD, as.factor),.SDcols=cols]
Run Code Online (Sandbox Code Playgroud)
尽管如此,前面提到的行为似乎还有些问题.
| 归档时间: |
|
| 查看次数: |
17853 次 |
| 最近记录: |