library(data.table)
m = matrix(1, nrow = 1000, ncol = 100)
DF <- as.data.frame(m)
DT <- as.data.table(m)
system.time({
for (i in 1:1000) {
DF[i, 1] <- i
}
})
## user system elapsed
## 2.65 0.03 2.68
system.time(for (i in 1:1000) {
DT[i, `:=`(v1, i)]
})
## user system elapsed
## 0.44 0.00 0.44
일단 데이터 프레임을 만든다.
library(plyr)
x <- ldply(1:10000, function(x) {
data.frame(val = x, va12 = 2 * x, val3 = 2/x, val4 = 4 * x, val5 = 4/x)
})
데이터 테이블의 리스트를 만든후 rbindlist로 합친다.
x <- llply(1:10000, function(x) {
data.frame(val = x, va12 = 2 * x, val3 = 2/x, val4 = 4 * x, val5 = 4/x)
})
x <- rbindlist(x)