R: цикл по столбцам в data.table

Я хочу определить классы столбцов большой таблицы данных.

colClasses <- sapply(DT, FUN=function(x)class(x)[1])

работает, но, по-видимому, локальные копии сохраняются в памяти:

> memory.size()
[1] 687.59
> colClasses <- sapply(DT, class)
> memory.size()
[1] 1346.21

Цикл кажется невозможным, потому что data.table "with=FALSE" всегда приводит к data.table.

Быстрый и очень грязный метод:

DT1 <- DT[1, ]
colClasses <- sapply(DT1, FUN=function(x)class(x)[1])

Какой самый элегантный и эффективный способ сделать это?

10
задан Martijn Tennekes 14 May 2012 в 14:39
поделиться