有没有办法从j部分中分配R data.table列的类

时间:2013-02-07 10:12:04

标签: r class data.table

假设我想在class列中的所有项目上设置data.table。我觉得应该有一种方法可以从DT[,j]部分内部做这种事情,但它似乎不起作用。我必须使用$来完成。有谁知道为什么?

> DT <- data.table(L = letters, N = 1:26)
> sapply(DT, class)
          L           N 
"character"   "integer" 
> DT[, {class(N) <- "MyClass"}]   # Doesn't work
[1] "MyClass"
> sapply(DT, class)
          L           N 
"character"   "integer" 
> DT[, class(N) <- "MyClass"]    # Doesn't work
[1] "MyClass"
> sapply(DT, class)
          L           N 
"character"   "integer" 
> class(DT$N) <- "MyClass"    # Works
> sapply(DT, class)
          L           N 
"character"   "MyClass" 

1 个答案:

答案 0 :(得分:4)

DT[,N:=as.myclass(N)]

应该工作