我只想分别计算每个列的最大值。使用简单的sapply
进入内存溢出:
# dt is my data.table object
res <- sapply(dt, max, na.rm=T) # fails due to memory problems
这是一张100万行和1000列的稀疏表,总体大小为11 GB。
我正在处理文件 train_date.csv 并使用以下代码行:
require(data.table)
dtDate <- fread(paste0(filePath, "train_date.csv"))
dim(dtDate)
require(pryr)
object_size(dtDate)
警告,将创建一个非常大的表!
dt <- as.data.table(matrix(runif(1000*1000000),ncol=1000))
dt[,lapply(.SD,max)]