0 votes
in Datenauswertung by s140234 (195 points)

Hallo zusammen,

ich stehe momentan vor folgendem Problem:

Mein Experiment besteht aus einem Hauptfragebogen (in diesem werden eine Reihe demografischer Angaben, sonstige Fragen und Fragebögen beantwortet) und einem Subfragebogen(dieser enthält pro vp 300 Antworten - in einer Variablen werden die 300 Bewertungen von 1-101 erfasst in einer anderen befinden sich die 300 Bildkennungen auf die sich diese Bewertungen beziehen). Die Bilder wurden randomisiert, d.h. die Reihenfolge der Bildkennungen ist bei jeder vp eine andere.

Nun möchte ich die Daten in R einlesen. Wie gehe ich da am besten vor? Sollte ich die Fragebögen separat herunterladen oder beide zusammen? Irgenwie sind diese ja miteinander verbunden, gleichzeitig enthalten sie jedoch verschiedene Daten und nicht dieselben VAriablen (da kommen recht viele NAs bei). Wenn ich beispielweise den gesamten Datensatz (beide Fragebögen) herunterlade und einlese, dann mit labels($datFamilienstand) abfrage, wirft R mir alle vp-Kennungen aus. Mit levels(dat$Familienstand) werden mir korrekt die Faktorstufen (1, 2, 3, 4, 5) angezeigt.

Ich freue mich über Hilfe!

Beste Grüße

1 Answer

0 votes
by SoSci Survey (302k points)

Sollte ich die Fragebögen separat herunterladen oder beide zusammen?

Ich würde empfehlen, dass Sie erstmal alle Daten in R laden - über die entsprechende Funktion in SoSci Survey, damit es mit den Labels und Comments klappt.

Und dann teilen Sie die Daten mittels Subsets in zwei data.frames. Anschließend können Sie wahlweise separat auswerten oder via merge die Level 2-Daten den Level 1-Daten zuspielen.

by s140234 (195 points)
Oh super, vielen Dank!
Ich hab das jetzt mal so probiert - alle Daten (Haupt- und Sub-Fragebogen) zusammen eingelesen. Dann habe ich mir 2 data frames erstellt mit
dat1 <- subset(ds, QUESTNNR == "x")
dat2 <- subset(ds, QUESTNNR == "y")

Wichtig ist dabei anzumerken, dass dat1 55 observations of 93 variables hat, während es bei dat2 13141 observations of 93 variables sind.

Mit merge wollte ich die beiden Datensätze nun zusammenfügen und habe dafür folgenden Befehl eingegeben:
dat.full <- merge(dat1, dat2, all = TRUE)
Allerdings werden für fast alle Variablen NAs ausgegeben.
Ich habe es auch noch versucht mit:
dat.full <- merge(dat1, dat2)
Hier wird in allen Variablen gar nichts angezeigt, diese sind also "leer".

Da ich die Daten gemeinsam auswerten möchte, würde ich mich über Hilfe hinsichtlich der korrekten Zusammenführung der Daten sehr freuen.

Besten Dank und liebe Grüße
by SoSci Survey (302k points)
Bitte spezifizieren Sie im merge() Befehl noch mittels by.x und by.y, anhand welcher Variable die Fälle zusammengefügt werden sollen. Vermutlich werden sie dabei mit CASE und REF arbeiten.

Natürlich sollten Sie vor dem merge() auch die leeren Variablen entfernen. Dies erreichen Sie z.B. wie folgt:

for (tmpVar in names(dat1)) {
  if (sum(!is.na(dat1[[tmpVar]])) == 0) {
    dat1[[tmpVar]] = NULL
  }
}

... oder so ähnlich :)

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

...