0 votes
in Datenauswertung by s151388 (275 points)

Lieber Support,

ich habe die Daten meiner Studie über den API-Link in R eingelesen. Leider habe ich folgende zwei Probleme:

1) Alle Variablen, die im Projekt angelegt waren, aber letztendlich nicht verwendet, also nicht abgefragt worden sind, sind im Datensatz enthalten. (Der API-Link enthält sowohl den Zusatz "useSettings" als auch encoding="UTF-8")
Die Variablen lassen sich natürlich mit ein wenig R-Code entfernen, da es aber mehr als 200 sind, wäre es natürlich sehr toll, falls ich da einfach nur etwas am API-Link ändern müsste.
2) Bei den meisten Variablen wird mir im Datensatz das value label angezeigt und nicht der tatsächlich Wert (also "weiblich" und "männlich" statt 1 und 2).

Können Sie mir helfen, diese Probleme zu beheben?

Besten Dank und viele Grüße!

1 Answer

0 votes
by SoSci Survey (305k points)

Wir gehen davon aus, dass die Verarbeitung in R automatisiert erfolgen soll, deshalb werden dabei immer alle Variablen ausgegeben. So hat man einen Datensatz, bei dem man weiß, mit welchen Variablen man rechnen kann.

1) Alle Variablen, die im Projekt angelegt waren, aber letztendlich nicht verwendet, also nicht abgefragt worden sind, sind im Datensatz enthalten.

In R kein großes Problem, weil man diese Variablen mit einer kleinen Schleife schnell aus dem Datensatz entfernen kann - sum(!is.na(...)) ist bei diesen Variablen ja 0. Ich glaube das Script las sich wie folgt:

for (varID in names(ds)) {
  if (sum(!is.na(ds[[varID]])) == 0) {
    ds[[varID]] = null;
  }
}

2) Bei den meisten Variablen wird mir im Datensatz das value label angezeigt und nicht der tatsächlich Wert (also "weiblich" und "männlich" statt 1 und 2).

R arbeitet ja - anders als SPSS - nicht mit numerischen Codes, sondern mit dem Variablentyp factor. Mit as.numeric() kann man auch numerische Codes verwenden, aber das ist in R sehr untypisch.

enthält sowohl den Zusatz "useSettings"

Diese Einstellung sollte (lt. Anleitung) nur beim CSV-Export von Relevanz sein.

by s151388 (275 points)
Vielen Dank für die Antworten!

bezüglich Punkt 2: ich habe das wohl etwas missverständlich beschrieben. Bei den Variablen handelt es sich nicht um den Variablentyp factor sondern um den Typ character. Das heißt also, dass die value labels als Text in der Variable abgespeichert sind. Ich wollte es eigentlich gerne vermeiden, alle betreffenden Variablen in Variablen vom Typ factor umkodieren zu müssen. Gibt es da eine Lösung?
by SoSci Survey (305k points)
> sondern um den Typ character

Das sollte eigentlich nicht der Fall sein. Könnten Sie das nochmal prüfen, bitte?

Wenn es tatsächlich so ist, könnten Sie bitte das Script einmal via Browser abrufen (Sie erhalten es, wenn Sie den Inhalt von `eval()` einfach in die Adresszeile des Browsers kopieren) und nachsehen, was dort zu der betroffenen Variabeln steht?
by s151388 (275 points)
Da war ich wohl etwas zu voreilig. Im Skript werden die entsprechenden Variablen, so wie ich das verstehe, erst als "numeric" definiert und dann in Faktoren umgewandelt.
Ich habe den API Import genutzt, um die Daten herutnerzuladen, einige wenige Aufbereitungsschritte zu machen und dann abzuspeichern. Beim erneuten Einlesen werden die Variablen dann automatisch als character Variablen eingelesen und mir nur noch die labels als Text angezeigt statt der ursprünglich dahinter liegenden Faktorstufen.
by SoSci Survey (305k points)
Wenn Sie lieber bei den numerischen Codes bleiben möchten, entfernen Sie bitte einfach die Umwandlung in Faktorstufen aus dem Import-Script.

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...