Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
de:results:import-gnu-r [06.11.2011 21:04] – Anordnung adminde:results:import-gnu-r [29.06.2023 13:40] admin
Zeile 1: Zeile 1:
-====== Datenimport in GNU R ======+====== Datenimport in R ======
  
-Diese Anleitung beschreibt den Import von Befragungsdaten, wenn Sie im Format //GNU R// die Daten als CSV-Datei sowie ein R-Script (R-Datei) heruntergeladen haben ([[download#gnu_r|Daten herunterladen: GNU R]]).+Diese Anleitung beschreibt den Import der erhobenen Daten in [[https://www.r-project.org/|R Project for Statistical Computing]]. Sie haben hier im Wesentlichen zwei Möglichkeiten.
  
-Die folgenden Schritte beschreiben das Vorgehen, wenn Sie für R die Bedienoberfläche RGui verwenden. Falls Sie R von der Konsole verwenden oder eine andere GUI einsetzen, ist das Vorgehen prinzipiell dasselbe.+1. Sie können die Daten direkt aus R abrufen 
 +2. Sie können in SoSci Survey ein Script und eine CSV-Datei herunterladen und diese importieren. 
 + 
 +Im Hintergrund passiert dasselbe: Ein R-Script importiert eine CSV-Datei. Allerdings ist die erste Variante deutlich bequemer. 
 + 
 +In beiden Fällen werden die Variablen mittels ''comment()'' mit einer Beschreibung versehen, und die Ausprägungen von Auswahlfragen werden -- wenn nicht anders eingestellt -- als ''factor'' hinterlegt. Bei Skalenfragen wird die Beschriftung der Antwortoptionen mittels ''attr()'' hinterlegt. 
 + 
 +<code R> 
 +> comment(ds$SERIAL) 
 +[1] "Seriennummer (sofern verwendet)" 
 + 
 +> levels(ds$AB01) 
 +[1] "Ja, regelmäßig"                    "Ab und zu" 
 +[3] "Nein oder nur in Ausnahmefällen"   "[NA] nicht beantwortet"        
 + 
 +> attr(ds$SC01_01, "1"
 +[1] "trifft überhaupt nicht zu" 
 +</code> 
 + 
 + 
 +===== Import via API ===== 
 + 
 +Für den API-Download können Sie entweder eine temporäre oder eine dauerhaften URL verwendet. 
 + 
 +  * Temporäre URL:\\ **Erhobene Daten** -> **Daten herunterladen** -> Karteireiter //GNU R// -> Knopf //API-Import freischalten//
 +  * Dauerhafte URL:\\ **Erhobene Daten** -> **Datenabruf via API** -> Plus-Symbol rechts oben -> Funktion //Daten als CSV für R abrufen// -> Speichern\\ (den befehl finden Sie dann in der Zeile //Befehl// in der Übersicht) 
 + 
 +In beiden Fällen liefert SoSci Survey einen kurzen Code, der wie folgt aussieht. 
 + 
 +<code R> 
 +eval(parse("https://www.soscisurvey.de/rtr/?act=f20H7pQDcp1OCdseFRmCUSmj&vQuality&rScript", encoding="UTF-8")) 
 +</code> 
 + 
 +Dieser Code ruft ein Script direkt von der URL ab, interpretiert dieses als R-Script und führt es aus. Kopieren Sie diesen befehl in Ihre R-Konsole oder in ein R-Script und führen Sie es aus. 
 + 
 +**Tipp:** Sollten Sie auf Probleme stoßen, können Sie das Script über die angegeben URL auch direkt im Browser abrufen, nach R kopieren und dort ausführen. 
 + 
 +<code> 
 +https://www.soscisurvey.de/rtr/?act=f20H7pQDcp1OCdseFRmCUSmj&vQuality&rScript 
 +</code> 
 + 
 + 
 + 
 +===== Import via Download ===== 
 + 
 +Wählen Sie unter **Erhobene Daten** -> **Daten herunterladen** den Karteireiter "GNU R" und laden Sie sowohl das R-Script (R-Datei) als auch die CSV-Datei heruntergeladen ([[download#gnu_r|Daten herunterladen: GNU R]]). 
 + 
 +**Hinweis:** Wenn die Daten und das Script zu unterschiedlichen Zeitpunkten heruntergeladen wurden, dann passen die Dateien evtl. nicht zueinander (z.B. weil sich die Liste relevanter Variablen geändert hat). 
 + 
 +**Hinweis:** Wählen Sie zum Download der Befragungsdaten das Dateiformat //GNU R//, nicht //CSV//. Dadurch stellen Sie sicher, dass die Formatierung der Datei zum Import-Script passt.  
 + 
 + 
 +Die folgenden Schritte beschreiben das Vorgehen, wenn Sie für R die Bedienoberfläche RGui verwenden. Falls Sie R von der Konsole verwenden oder eine andere GUI wie [[http://www.rstudio.com/|RStudio]] einsetzen, ist das Vorgehen prinzipiell dasselbe.
  
 Öffnen Sie das Script in R und starten Sie es: Öffnen Sie das Script in R und starten Sie es:
Zeile 9: Zeile 61:
   * //Datei// -> //Öffne Script//   * //Datei// -> //Öffne Script//
   * //Bearbeiten// -> //Alles ausführen//   * //Bearbeiten// -> //Alles ausführen//
-  * Nun sollte sich ein Dialog zur Dateiauswahl öffnen. Wählen Sie hier die CSV-Datei aus, die Sie heruntergeladen haben und bestätigen Sie mit //Öffnen//.+  * Nun sollte sich ein Dialog zur Dateiauswahl öffnen (möglicherweise hinter dem aktiven Fenster). Wählen Sie hier die CSV-Datei aus, die Sie heruntergeladen haben und bestätigen Sie mit //Öffnen//.
  
 Die Befragungsdaten sollten nun in dem Datenframe zu finden sein, das Sie beim Download des Scripts angegeben haben (Standard ist "data"). Mit dem R-Befehl ''str(data)'' können Sie die Variablen überprüfen. Die Befragungsdaten sollten nun in dem Datenframe zu finden sein, das Sie beim Download des Scripts angegeben haben (Standard ist "data"). Mit dem R-Befehl ''str(data)'' können Sie die Variablen überprüfen.
  
-**Hinweis:** Wenn die Daten und das Script zu unterschiedlichen Zeitpunkten heruntergeladen wurden, dann passen die Dateien evtl. nicht zueinander (z.B. weil sich die Liste relevanter Variablen geändert hat). 
  
-**Hinweis:** Wählen Sie zum Download der Befragungsdaten das Dateiformat //GNU R//, nicht //CSV//. Dadurch stellen Sie sicherdass die Formatierung der Datei zum Import-Script passt+===== Hinweise ===== 
 + 
 +Oben wurde bereits darauf hingewiesen, dass der R-Import die Variablen mittels ''[[https://www.rdocumentation.org/packages/base/versions/3.6.2/topics/comment|comment()]]'' beschriftet. 
 + 
 +Damit diese Informationen bei Subselects nicht verloren gehenergänzt das Import-Script standardmäßig eine Klasse ''avector'', welche die Attribute beim Subselect kopiertSollte der ''avector'' zum Beispiel bei einem ''bind_rows()'' zum Problem werden, kann man diese Klasse mit folgender Funktion entfernen. 
 + 
 +<code R> 
 +remove_avector = function(x) { 
 +    x = data.frame( 
 +      lapply(x, function(xx) { 
 +        class(xx) = setdiff(class(xx), c("avector")) 
 +        return(xx) 
 +      }) 
 +    ) 
 +    return(x) 
 +
 + 
 +dc <- ds %>% remove_avector() 
 +</code>
de/results/import-gnu-r.txt · Zuletzt geändert: 09.07.2023 18:09 von admin
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki