data.table中的sapply的替代习语是什么?

时间:2016-12-08 12:28:29

标签: r data.table

我只想分别计算每列的最大值。使用简单的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)

1 个答案:

答案 0 :(得分:1)

警告,将创建一个非常大的表!

dt <- as.data.table(matrix(runif(1000*1000000),ncol=1000))
dt[,lapply(.SD,max)]