为什么mutate()按组继续?

Gue*_*290 4 aggregate r data.table

我有一个2.5M x 13矩阵,我试图通过ID变量聚合.起初我尝试使用ddply,但我的记忆爆炸了.之后我尝试使用data.table,它运行得更快:

data <- as.data.table(data)
key(data) <- "ID"

agg<-mydata[,mutate(.SD,
           start = min(Date))
           , by = ID]
Run Code Online (Sandbox Code Playgroud)

现在没有内存问题,到目前为止,在具有4.0GB内存的英特尔i5 2.50GHz上运行它需要超过4个小时.操作系统是windows 7,所以没有并行计算.

我究竟做错了什么?

kon*_*vas 7

你不需要mutate,只需使用start := min(Date).我认为应该加快速度.

agg <- mydata[, start := min(Date), by = ID]
Run Code Online (Sandbox Code Playgroud)