Ich erstelle R-Code für eine Monte-Carlo-Simulation eines Profisports. Da die Spieldynamik sehr kompliziert ist und der Debugging-Prozess einfacher wird, möchte ich, dass R eine Textzeile für jede Aktion, die im Spiel passiert, an eine "Protokolldatei" sendet. Die Log-Datei ein umfassendes, Spiel durch Spiel Beschreibung wäre, was in der Simulation passiert, und so etwas wie dieses ...Wie erstelle ich in regelmäßigen Abständen Text an eine "Protokolldatei", während ich die normale Ausgabe an die Konsole drucke?
- „GAME BEGINNT“
- BESITZES ZUGEWIESEN X TEAM
- PLAYER Y GETS aussehen würde BALL
- PLAYER Y KERBEN
- Foul von PLAYER Z OCCURS
- SUBSTITUTION eintritt (PLAYER W < -> PLAYER Q)
- ...
- „GAME ENDS“
ich nicht nur die Waschbecken() Funktion verwenden kann, weil während der Simulation läuft, ich Setup einen Fortschrittsbalken (mit setTxtProgressBar Funktion) und Echtzeit-Scores zu sein gedruckt auf der Konsole. Wenn ich sink() verwendet habe, konnte ich keine Fortschrittsanzeigen oder Punkte auf der R-Konsole sehen. Macht das Sinn? Mit anderen Worten, ich muss regelmäßig in kumulativer Weise Text an eine Protokolldatei senden. Hier einige Beispiel-Code Sie etwas zu geben, mit zu arbeiten ...
Dank
for (i in 1:100)
{**SOMEHOW NEED TO PRINT LINE "START LOOP" TO LOG FILE**;
a <- rnorm(n = 100, mean = i, sd = 5);
print(mean(a)); #PRINT THIS MEAN TO THE CONSOLE
**SOMEHOW PRINT "LOOP 'i' COMPLETE" TO LOG FILE**}
Dieser fast tut, was ich brauche! Das einzige Problem ist, dass es der Protokolldatei nicht kumulativ Text hinzufügt. Das heißt, bei jeder Ausführung der Schleife löscht sie diese Protokolldatei, und wenn die Schleife abgeschlossen ist, verbleibt nur die letzte Zeile in der Protokolldatei. Gibt es eine Möglichkeit, es kumulativ zu machen? – Slyron
Siehe "Katze". Der Standardwert für "append" ist false, aber wenn Sie ihn auf "true" setzen und den Namen einer Datei anstelle einer Verbindung verwenden, wird sie angehängt (d. H. Kumulativ addiert). – Gregor