我只是想让这个问题变得简单。在我的rails控制台中,我看到了:
tmp <- tapply(seq(nrow(dd)), dd$groups, function(ii) {
idx <- Map(`:`, ii, ii + dd$window[ii])
out <- dd[unlist(idx), ]
out$idx <- rep(dd$ids[ii], lengths(idx))
out[out$groups %in% dd$groups[ii], ]
})
tmp <- do.call('rbind', tmp)
res <- aggregate(x ~ idx + groups, tmp, sum)
# idx groups x
# 1 3 10 222
# 2 9 10 83
# 3 13 10 95
# 4 16 10 201
# 5 26 10 197
# 6 30 10 180
# 7 36 10 238
# 8 38 10 258
# 9 42 10 255
# 10 48 10 109
# 11 49 10 81
# 12 59 10 176
# 13 65 10 116
# 14 67 10 71
# 15 88 10 25
# 16 19 20 173
identical(table(dd$groups), table(res$group))
# [1] TRUE
1656毫秒(2261 - 564 - 40)来自哪里?预编译资产?这是在开发环境中。