2017-07-20 3 views
0

Momentan habe ich Probleme mit der Funktion png() innerhalb einer for-Schleife. Unten ist ein vereinfachtes Beispiel für Code. Der Vektor stellt Indikatorwerte für mehrere Formdateien dar, die ich versuche, zu durchlaufen, zu plotten und in einem PNG zu speichern.png() Iterationsfehler in R

match <- c(1,2,3,4,5,6,7,8,9) 
for(m in 1:length(match)){ 
    png("WMA", m, "/_example_plot.png") 
    p <- c(plot(match[m])) 
    dev.off() 
} 

Ich bin die unten stehenden Fehler von meinem Skript empfangen:

Fehler in Schaltern (Einheiten, in = res, cm = res/2,54, mm = res/25,4, px = 1) *: nicht-numerisches Argument Binäroperators

Traceback unter

2..geometr y (Breite, Höhe, Einheiten, res)

1.png ("WMA", m "/_example_plot.png")

Der Plotten Code und funktionieren Dateipfad auf eigene Faust. Ich habe alle meine png() - Funktionen mit einigen der Indikatorwerte im Match-Vektor getestet. Wenn ich jedoch durch jeden Indikatorwert iteriere, erhalte ich den Fehler.

Diese stackoverflow Beitrag führt mich zu der Annahme, dass ich eine Funktion zum Festlegen der Geometrie von png() erstellen sollte. Ich bin mir jedoch nicht sicher, wie ich das machen soll/warum ich das tun müsste. Alle Informationen werden wie immer geschätzt :)

+3

Sollte es nicht sein: 'png (paste0 (" WMA/", m," _example_plot.png "))'? Also alle PNGs werden in der Map WMA als 1_example_plot.png, 2_example_plot.png usw. gespeichert. – Florian

+0

Auch check out 'ggsave' – CPak

+0

@Florian Ja, danke! – DPek

Antwort

0

Ich glaube, dass das Problem ist, dass Sie einen sich ändernden Namen von PNG erstellen möchten. Der Fehler besteht darin, dass Sie den Namen nicht verketten, indem Sie die Funktion paste0 verwenden. Das ist: png(paste0("WMA", m, "/_example_plot.png")).
In Ihrem Code hatte die PNG-Funktion ein erstes Argument "WMA", ein zweites Argument m und ein drittes Argument "/_example_plot.png").

+0

Danke! Arbeitete perfekt – DPek