Betrachten Sie die Funktion unter:Wie zeigt man die Replikatnummer bei Verwendung von Sapply in R?
f = function(i) i^2
Jetzt haben wir die Ausgabe von f
für einen Eingangsvektor der Länge 1000 (oder äquivalent zu laufen f
für 1000 Replikationen) von finden:
output = c()
for (i in 1:1000) output[i] = f(i)
Im Fall Wenn Sie zeitraubende Funktionen ausführen möchten, möchten wir vielleicht wissen, welche Replikation wir sind. So können wir verwenden:
output = c()
for (i in 1:1000) {output[i] = f(i); cat("Replicate=", i, "\n")}
Dies gibt die Replikatnummer am Ende jeder Replikation. Was nun, wenn wir verwenden sapply
statt for
:
output = sapply(1:1000, function(i) f(i))
Wie können wir sehen, die replizieren wir während sapply
verwenden? Beachten Sie, dass ich versucht habe, cat("Replicate=", i, "\n")
in der Definition von f
hinzuzufügen. Dies zeigt die Replikationsnummer, jedoch nur am Ende des gesamten Laufs und nicht am Ende jedes Replikats.
Siehe [print] (https://stat.ethz.ch/R-manual/R-devel/library/base/html/print.html) –
z. 'sapply (1: 1000, Funktion (i) {print (paste0 (" Replicate = ", i)); Spaß (i)})' –
@Joseph Wood: Danke. Ich habe Ihren Code ausprobiert, aber "print" funktioniert nur als "cat", d. H. Es zeigt die Replikationsnummern am Ende des gesamten Laufs, aber nicht am Ende jedes Replikats. –