DT[, {class(N) sapply(DT, class) L N "character""> DT[, {class(N) sapply(DT, class) L N "character""> DT[, {class(N) sapply(DT, class) L N "character"" />

Есть ли способ назначить класс R data.table колонка из j части

Предположим, что я хочу установить класс на всех пунктах в 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" 
4
nl ja de

1 ответы

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

Должен работать

4
добавлено