R vs. SAS

Interessantes ohne bestimmtes Thema!

Moderator: student

R007

Re: R vs. SAS

Beitrag von R007 »

Ich hab mir nochmal Gedanken gemacht was eher für einen Workflow in R geeignet ist und zwar die .Rdata-Datei.

So kann man das Ergebnis eines Nodes bzw. die Objekte wegspeichern und anschließend im nächsten importieren. So hat man den Workflow wirklich in Zwischenergebnisse eingeteilt.
Benutzeravatar
student
Beiträge: 674
Registriert: Fr Okt 07, 2016 9:52 am

Re: R vs. SAS

Beitrag von student »

Hallo Bernhard,

ich habe mal in meinem Archiv geschaut und noch etwas zu Knime gefunden. Ist nicht mehr viel, zeigt aber ein wenig das Konzept und meine Kommentare bezüglich Geschwindigkeit....
Viele Grüße,
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube

Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: R vs. SAS

Beitrag von EDi »

Ich hab mir nochmal Gedanken gemacht was eher für einen Workflow in R geeignet ist und zwar die .Rdata-Datei.

So kann man das Ergebnis eines Nodes bzw. die Objekte wegspeichern und anschließend im nächsten importieren. So hat man den Workflow wirklich in Zwischenergebnisse eingeteilt.
Ja, daber das Schreiben/Lesen auf die Platte (auch in Zeiten der nvme-SSD) ist ein Flaschenhals und nicht sehr flott.

Es kommt drauf an:
Ich mache das oft, wenn das berechnen eines Zwischenergenisses viel Zeit benötigt und viel Platz einnimmt und nur selten wiederholt werden muss.
Für Tabellen nehme ich dazu das csv Format (dank data.table super schnell), für R Objekte (z.b. Listen mit zig Modellen drin, etc...) nehme ich saveRDS.
Wie das im vergleich zu .Rdata steht in SInne von Schreib/Lesezeit und Platzverbrauch weiß ich nicht.

Wenn ich die Berechnung oft wiederholen muss, die Größe nicht groß ist würde ich das alles in der rsession (also im RAM) behalten und nicht auslagern.
Aber wie gesagt, ich habe keine professionelle Erfahrung und arbeite mit mittelgroßen Daten, die zwar nimmer in Excel passen aber SQL noch gut mit zurechtkommt (ca. 10^7 Beobachtungen). Hatte bisher noch keine Probleme.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
R007

Re: R vs. SAS

Beitrag von R007 »

Gibt es irgendwo Beispielprojekte, also keine einzelnen R-Skripte, sondern einen Ordner mit den verschiedenen R-Skripten, sowie beispielsweise CSV-Dateien zum import und .RData als Output? Also praktisch ein Beispiel Analyse-Projekt?

Das würde mir glaube ich sehr für das Verständnis helfen! :)
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: R vs. SAS

Beitrag von EDi »

Hier z.B. oder hier oder hier. Das treibst aber eher zum äußersten hinaus.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
R007

Re: R vs. SAS

Beitrag von R007 »

EDi hat geschrieben:Hier z.B. oder hier oder hier. Das treibst aber eher zum äußersten hinaus.
Ich meine nicht wie man ein Package erstellt, sondern ein Projekt, welches aus mehreren R-Skripten besteht, wo es bspw. eine main.R gibt und dann zusätzlich SkripA, SkriptB und SkripC, wo jedes Skript Daten importiert, weiterverarbeitet und die Objekte dann speichr für das nächste Skript (.RData)
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: R vs. SAS

Beitrag von EDi »

Ich meine nicht wie man ein Package erstellt,
Naja, aber das meine ich ja mit dem äußersten. Die ganze Analyse und der Workflow als Package!
Mir ging es nicht darum wie man ein package erstellt, sondern wie man das package framework nutzen kann für einen workflow.

Das hat einpaar nette Vorteile, im vergleich zu einer Sammlung von losen skripten:
- Man hat Funktionen die man kombinieren kann
- Man hat direkt eine Dokumentation dabei
- Man kann tests laufen klassen
- Man kann die analysen leicht weitergeben
- ....

Ich hoffe du verstehst worauf ich hinaus will?



welches aus mehreren R-Skripten besteht, wo es bspw. eine main.R gibt und dann zusätzlich SkripA, SkriptB und SkripC, wo jedes Skript Daten importiert, weiterverarbeitet und die Objekte dann speichr für das nächste Skript
OK, dann hier zwei Beispiele aus meinen Projekten:

1) Eine SimulationsStudie zur Power bei Experimenten mit wenig Replikaten:
github
0-load.R setzt das Projekt auf, setzt Pfade, lädt packages, ...
0-functions.R wird darin aufgerufen und enhtällt geschriebene Funktionen
1-simulations.R simuliert Daten und speichert die ergebnisse auf die Platte (.rds)
2-results.R greift diese von der Platte auf und macht einpaar Bildchen und Tabellen draus.

Die Zahl am Anfang des skriupts gibt die Reihenfolge an. Das müsste auch bei dir so laufen.

2) Mein aktuelles Projekt (gerade bei einem Fachjournal eingereicht): Zeiträumliche Einflüsse und Dynamiken von Risiko für Gewässer die von Pestiziden ausgehen. Das wird bei dir nicht laufen, da die credentials.R Datei fehlt.
load.R - lädt packages und funktionen (functions.R)
clean.R - holt sich Daten von einem Postgresql-Server und bereitet die einwenig auf und speichert sie auf die Platte (.csv)
do_overview.R - Gibt einen Überblick über die Datenlage (greift dazu die Daten von der Platte, erstellt ne Karte und Tabellen, verschneidet Daten mit Niederschlafgsdaten etc.
do_sizeargi.R - Greift die Daten auf und untersucht den Einfluss von Landwirtschaft und GEwässergröße
do_*.R - Andere do scripte greifen die Daten auf und machen was anderes damit und exportieren die Ergbnisse (Grafiken/Tabellen) auf die Platte. Von dort werden sie dann von einem LaTeX Dokument aufgenommen und in einen report gepackt.


3) Hier ein Beispiel von Herrrn Wickham, der das wohl auch gut findet...

Das load - clean -do Konzept finde ich sehr gut, hab ich mir glaube ich bei Rob Hyndman abgeschaut. Es gibt auch packages dafür (z.b. projecttemplate)), aber ich bin flexibler und hab weniger Zeug, dass ich nicht brauch wenn ich mir es selbst schreibe.

remake geht auch in die Richtung und ist einen Blick wert.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
R007

Re: R vs. SAS

Beitrag von R007 »

Vielen vielen Dank EDi!!! Deine Beispiel-Projekte haben mir sehr geholfen bzw. helfen mir sehr. Das war genau das was ich gesucht habe. :) :) :)

Habe direkt angefangen mir ein "Musterprojekt" mal anzulegen.
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: R vs. SAS

Beitrag von EDi »

R007 hat geschrieben:Vielen vielen Dank EDi!!! Deine Beispiel-Projekte haben mir sehr geholfen bzw. helfen mir sehr. Das war genau das was ich gesucht habe. :) :) :)

Habe direkt angefangen mir ein "Musterprojekt" mal anzulegen.
Freut mich!

Ich muss sagen, dass ich immernoch am Ändern / Optimieren bin wie ich meine Projekt aufziehe.

"Make" finde ich sehr interessant, hab ich aber bisher (mangels Kenntnissen und Zeit die zu Verbessern) für LaTeX gemacht.

Ob man jede Analyses in in Paket packen muss? Weiß nicht, bisher hab ich nicht die notwendigkeit gesehen.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
Antworten