ddply
hat eine .progress
, um eine Fortschrittsanzeige zu erhalten, während es ausgeführt wird, gibt es eine Entsprechung für data.table
in R?Fortschrittsbalken in Daten.Tabelle Aggregat Aktion
1
A
Antwort
4
Ja, Sie können einen beliebigen Fortschrittsstatus verwenden.
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
Wenn Sie über den Fortschritt fragen beim Laden der CSV-Datei mit fread
dann wird es automatisch für größere Datensätze angezeigt werden. Auch wie von Sergey in Kommentar erwähnt können Sie verbose
Argument verwenden, um weitere Informationen zu erhalten, sowohl in fread
als auch in [.data.table
.
Wenn Sie den Prozentsatz der Gruppen verarbeiten möchten.
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
0
auf @ jangorecki die ausgezeichnete Antwort Anknüpfend, hier ist ein Weg, um einen Text Fortschrittsbalken zu verwenden:
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)
Sie einen Fortschrittsbalken bedeuten Sie für 'fread()'? Wenn ja, überprüfen Sie den Parameter 'verbose'. –