Automatisierung der Großkreiskartenproduktion in R

8

Ich habe einige der Dinge, die ich gelernt habe, in fließende Daten übernommen großes Kreis Mapping-Tutorial und kombiniert sie mit Code in den Kommentaren verknüpft, um seltsame Dinge zu verhindern, wenn R trans-äquatorialen Großkreisen plottet. Das gibt mir das:

%Vor%

Ich möchte die Erstellung von Karten für einen großen Datensatz automatisieren, der alle geplanten kommerziellen Routen enthält - Dummy Probe - geteilt zwischen ATL und anderen Flughäfen im globalen Netzwerk (airports.csv ist in der Flowing Data Post verlinkt). Vorzugsweise würde ich eine Karte pro Monat produzieren, die ich als Rahmen in einem kurzen Video verwenden würde, das Veränderungen im Netzwerkraum des Flughafen Atlanta zeigt.

Das Problem: Ich kann die Schleife nicht dazu bringen, mehr als ein PNG zu produzieren - nur ab dem ersten eindeutigen Monat in jeder CSV-Datei - jedes Mal, wenn ich es ausführe. Ich bin mir ziemlich sicher, dass der Code von Aaron Hardin die Automatisierung "bricht", wie sie im Fließdaten-Tutorial verwendet wird. Nach drei Tagen, in denen ich damit herumhantiert bin und irgendwelche relevanten R-Anleitungen verfolgt habe, ist mir klar, dass mir einfach die Koteletts fehlen, um sich mit dem anderen zu versöhnen. Kann mir jemand helfen, den Prozess zu automatisieren?

Es gibt eine Dissertation Bestätigung für Sie!

    
gpe 30.08.2011, 03:10
quelle

1 Antwort

13

Zu viele Informationen für einen Kommentar, deshalb poste ich stattdessen eine Antwort. Hier ist, was ich denke (und bis zum Ende lesen, um zu sehen, was möglicherweise das Problem sein könnte):

Ich habe versucht, Ihren Code mit den Originaldaten im Fließdaten-Lernprogramm auszuführen. (Natürlich müssen Sie eine Spalte für monatliche Daten hinzufügen, also habe ich einfach diese Zeile hinzugefügt, um den Monat zufällig zu sortieren:):

%Vor%

Immer wenn ich eine Schleife habe, die lange braucht, um zu laufen, stecke ich im Allgemeinen ein bisschen Code hinein, der mir eine Fortschrittskontrolle gibt. Benutze, was dir gefällt: print , cat , tcltk::tkProgressBar . Ich benutze message :

%Vor%

Wie auch immer, ich habe dann deinen Code ausgeführt. Alles funktioniert genau so, wie es sollte. Da ich vier Monate Daten gesammelt habe, bekomme ich:

  • Die Nachricht mit der aktuellen I-Wiederholung druckt vier Mal
  • Vier png Plots, jeweils mit einer dunklen Weltkarte und leuchtend gelben Linien. Hier ist eine der vier Zeilen:

Also, warum funktioniert es auf meiner Maschine und nicht auf Ihrer?

Ich kann nur raten, aber ich vermute, dass Sie das Arbeitsverzeichnis nicht eingestellt haben. Es gibt keine setwd in Ihrem Code und der Aufruf von png gibt nur den Dateinamen an. Ich vermute, dass Ihr Code in das Arbeitsverzeichnis Ihres Systems geschrieben wird.

Bei meiner Installation lautet das Arbeitsverzeichnis standardmäßig:

%Vor%

Um dies zu beheben, führen Sie einen der folgenden Schritte aus:

  1. Verwenden Sie setwd() , um Ihr Arbeitsverzeichnis am Anfang des Skripts festzulegen.
  2. Oder verwenden Sie den vollständigen Pfad und Dateinamen in Ihrem Aufruf von png()
Andrie 30.08.2011, 12:14
quelle