【发布时间】:2016-06-30 16:56:00
【问题描述】:
ddply 有一个 .progress 在运行时获取进度条,R 中是否有 data.table 的等价物?
【问题讨论】:
-
您是指
fread()的进度条吗?如果是,请检查verbose参数。
标签: r data.table
ddply 有一个 .progress 在运行时获取进度条,R 中是否有 data.table 的等价物?
【问题讨论】:
fread() 的进度条吗?如果是,请检查verbose 参数。
标签: r data.table
是的,你可以使用任何你想要的进度状态。
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
如果您询问使用fread 加载 csv 文件的进度,那么对于更大的数据集,它将自动显示。同样正如 Sergey 在评论中提到的那样,您可以使用 verbose 参数来获取更多信息,包括 fread 和 [.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
【讨论】:
跟进@jangorecki 的出色回答,这里有一种使用文本进度条的方法:
library(data.table)
dt = data.table(a=1:4, b=c("a","b"))
grpn = uniqueN(dt$b)
pb <- txtProgressBar(min = 0, max = grpn, style = 3)
dt[, {setTxtProgressBar(pb, .GRP); Sys.sleep(0.5); sum(a)}, b]
close(pb)
【讨论】: