我只想分别计算每列的最大值。使用简单的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)
答案 0 :(得分:1)
警告,将创建一个非常大的表!
dt <- as.data.table(matrix(runif(1000*1000000),ncol=1000))
dt[,lapply(.SD,max)]