data.table聚合操作的进度条

Cen*_*noc 2 r data.table

ddply有一个.progress在运行时得到一个进度条,data.table在R中有一个等价物吗?

jan*_*cki 5

是的,您可以使用您想要的任何进度状态.

library(data.table)
dt = data.table(a=1:4, b=c("a","b"))
dt[, {cat("group:",b,"\n"); sum(a)}, b]
#group: a 
#group: b 
#   b V1
#1: a  4
#2: b  6
Run Code Online (Sandbox Code Playgroud)

如果您询问加载csv文件的进度,fread那么它将自动显示更大的数据集.正如谢尔盖在评论中提到的那样,您可以使用verbose参数来获取更多信息,包括in fread和in [.data.table.

如果您想要处理的组百分比.

grpn = uniqueN(dt$b)
dt[, {cat("progress",.GRP/grpn*100,"%\n"); sum(a)}, b]
#progress 50 % 
#progress 100 % 
#   b V1
#1: a  4
#2: b  6
Run Code Online (Sandbox Code Playgroud)