Import von .sav in R und Ausgabe der systematischen Missings nicht als "NA"

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Antworten
Manuel
Beiträge: 6
Registriert: Di Dez 22, 2020 2:38 pm

Import von .sav in R und Ausgabe der systematischen Missings nicht als "NA"

Beitrag von Manuel »

Hallo liebe Community,

in SPSS wird zwischen systematischen und nicht systematischen Missings unterschieden. Die systematischen werden einfach als leeres Feld mit einem "." drin angezeigt, die nicht systematischen als "NA". Liest man die Daten bei R ein, wird beides als "NA" angezeigt.

Nun möchte ich Surveydaten einlesen und benötige aber die Information, ob es systematische oder nicht systematische Missings sind in R. Systematisch bedeutet hierbei einfach, dass bestimmte Personen eine Frage nicht gestellt bekommen haben. Ich möchte einen Plot zu einer bestimmten Variable erstellen und habe da eigentlich 1000 Personen die die Frage gestellt bekommen haben, wovon 50 Personen mit "Keine Angabe" geantwortet haben. Also 50 "NA's". Da in meinem Datensatz aber 2000 Personen sind und 1000 die Frage nicht gestellt bekommen haben, habe ich nun ein n von 2000 mit 1050 "NA'S".

Ich lese die Daten mit dem haven-package ein.

Code: Alles auswählen

data <- read_sav("path")
Kann mir jemand weiterhelfen, wie ich hier vorgehen und die systematischen Missings identifizieren kann?

Danke und liebe Grüße
Manuel
bigben
Beiträge: 2882
Registriert: Mi Okt 12, 2016 9:09 am

Re: Import von .sav in R und Ausgabe der systematischen Missings nicht als "NA"

Beitrag von bigben »

Hallo Manuel,

bietet denn der Surveyanbieter kein anderes Format als ausgerechnet SPSS an?

Wenn nein: Hast Du Zugriff auf SPSS? Dann kannst Du das vielleicht sinnvoll umcodieren wie in diesem Video gezeigt: https://www.youtube.com/watch?v=Sg6OpdS0CqA

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Manuel
Beiträge: 6
Registriert: Di Dez 22, 2020 2:38 pm

Re: Import von .sav in R und Ausgabe der systematischen Missings nicht als "NA"

Beitrag von Manuel »

Hallo Bernhard,

danke für deine Antwort! Leider habe ich weder Zugang zu SPSS noch gibt es die Daten anders als im .sav-Format.
Das macht es für mich ja leider so schwierig.

LG
Manuel
Zuletzt geändert von Manuel am Mo Jun 03, 2024 2:57 pm, insgesamt 1-mal geändert.
bigben
Beiträge: 2882
Registriert: Mi Okt 12, 2016 9:09 am

Re: Import von .sav in R und Ausgabe der systematischen Missings nicht als "NA"

Beitrag von bigben »

Hallo,

es könnte einen Versuch wert sein, die Daten in PSPP zu laden und dort mit 999 und 998 eindeutig zu codieren. Ich habe leider keine Idee, wie weit PSPP inzwischen gediehen ist.

Kann man denn sonst die systematischen von den unsystematische Missings durch irgendeine Logik erfassen? Sowas in der Art wie "Wenn Antwort 15 "Ja" lautet dann wurden die Items in den Spalte 17 bis 23 gar nicht erst abgefragt? Dann könnte man diese Logik in R nachstellen.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Manuel
Beiträge: 6
Registriert: Di Dez 22, 2020 2:38 pm

Re: Import von .sav in R und Ausgabe der systematischen Missings nicht als "NA"

Beitrag von Manuel »

Die PSPP-Variante probiere ich gern.

Eine Logik zum Feststellen welche Personen z.B. gar nicht gefragt wurden gibt es meines Wissens nach leider nicht.

Ich bin der Meinung, dass sich mit der Hilfe des haven oder des sjlabelled packages die Information über die systematischen Missings die in den Daten steckt auch auf R übertragen lässt. Allerding schaffe ich das nicht bzw. fehlt mir da der Ansatz.

LG
Manuel
bigben
Beiträge: 2882
Registriert: Mi Okt 12, 2016 9:09 am

Re: Import von .sav in R und Ausgabe der systematischen Missings nicht als "NA"

Beitrag von bigben »

Hallo Malte,

ich habe nie gesagt, dass das nicht ginge -- ich habe nur Zweifel, ob hier jemand abhängt, der viel mit SPSS Files zu tun hat und das schon mal durchturnen musste. (Außerhalb von Psychologie, Soziologie und Medizin ist SPSS ja doch eher Außenseitersoftware.) Kann natürlich passieren, dass sich noch jemand meldet, der damit vertraut ist.

Hier gibt es einen Webservice der angibt, er könne sav in csv konvertieren: https://addmaple.com/tools/spss-sav-to-csv-converter

Benutzt Du in Deinem read_spss-Aufruf das Argument user_na = TRUE? Wäre sinnvoll: https://haven.tidyverse.org/reference/l ... _spss.html

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Manuel
Beiträge: 6
Registriert: Di Dez 22, 2020 2:38 pm

Re: Import von .sav in R und Ausgabe der systematischen Missings nicht als "NA"

Beitrag von Manuel »

Super, danke!
Den probiere ich mal aus.
Benutzeravatar
student
Beiträge: 737
Registriert: Fr Okt 07, 2016 9:52 am

Re: Import von .sav in R und Ausgabe der systematischen Missings nicht als "NA"

Beitrag von student »

Ich habe mal vor Jahren mit SPSS-Dateien arbeiten müssen und eigentlich gut Erfahrung mit dem Paket foreign gemacht.

Das Paket beinhaltet die Funktion read.spss und kommt auch mit sub zurecht:

Code: Alles auswählen

read.spss(file, use.value.labels = TRUE, to.data.frame = FALSE,
          max.value.labels = Inf, trim.factor.names = FALSE,
          trim_values = TRUE, reencode = NA, use.missings = to.data.frame, 
          sub = ".", add.undeclared.levels = c("sort", "append", "no"),
          duplicated.value.labels = c("append", "condense"),
          duplicated.value.labels.infix = "_duplicated_", ...)
Beschreibung:
sub
character string: If not NA it is used by iconv to replace any non-convertible bytes in character/factor input. Default is ".". For back compatibility with foreign versions <= 0.8-68 use sub=NA.
Vielleicht klappt es damit...
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)
Antworten