Guten Tag. Ich arbeite mit Daten des ESS (European Social Survey).
Eingelesen habe ich die Daten mit der Bibliotheke "haven" aus dem SPSS. Nun kann ich viele Funktionen des Base-Package nicht verwenden. Ich vermute der Grund ist, weil meine Daten als spezielle Datenframes eingelesen wurden. Konkret da ein Beispiel:
Variable: Geschlecht
Classes 'labelled_spss', 'labelled' atomic [1:40185] 1 1 0 1 0 0 1 0 0 0 ...
..- attr(*, "label")= chr "Gender"
..- attr(*, "na_values")= num 9
..- attr(*, "format.spss")= chr "F1.0"
..- attr(*, "labels")= Named num [1:3] 1 2 9
.. ..- attr(*, "names")= chr [1:3] "Male" "Female" "No answer"
NULL
Variable: Länderzugehörigkeit
Class 'labelled' atomic [1:40185] AT AT AT AT ...
..- attr(*, "label")= chr "Country"
..- attr(*, "format.spss")= chr "A2"
..- attr(*, "labels")= Named chr [1:21] "GB" "BE" "DE" "EE" ...
.. ..- attr(*, "names")= chr [1:21] "United Kingdom" "Belgium" "Germany" "Estonia" ...
NULL
Gespeichert ist der Datensatz unter dem Namen "ESS7All". Folgende Funktion liefert mir das gewünschte Ergebnis:
table(ESS7All$gndr,ESS7All$cntry)
cntry
gndr AT BE CH CZ DE DK EE ES FI FR GB HU IE IL LT NL NO PL PT SE SI
0 942 873 766 1128 1500 723 1216 937 1060 1004 1240 976 1288 1398 1381 1060 672 875 694 898 661
1 853 896 766 998 1545 779 835 988 1027 913 1024 722 1102 1164 869 859 764 740 571 893 563
Möchte ich nun jedoch die Proportionen angeben der Geschlechterverteilung (nicht die absoluten Werte) geht mir der gewohnt Weg über:
prop.table(ESS7All$gndr,ESS7All$cntry)
nicht.
Dies ist nur ein konkretes Beispiel. Ich haddere ganz oft, dass gewohnte Funktionen mit dem Datensatz nicht möglich sind und vermute, dass ich diese Probleme habe, weil ich die Funktionen mit den falschen Objekttypen füttere.
Erste tests mit as.numeric etc haben zu nichts geführt. Ideen gehen für mich in die Richtung: Datenframe in Faktoren zerlegen oder ähnliches. Weiss aber nicht ob das die Lösung ist und wie ich das genau angehen sollte.
Bin um jeden Beitrag froh.
Beste Grüsse, Jacques
Datensatz Analysen
Re: Datensatz Analysen
Von https://cran.r-project.org/web/packages/haven/news.htmllabelled_spss() is potentially dangerous to work with in R because base functions don't know about labelled_spss() functions so will return the wrong result in the presence of user-defined missing values. For this reason, they will only be created by read_spss() when user_na = TRUE (normally user-defined missings are converted to NA).
Mit anderen Worten: Kann es an missing data liegen und kannst Du beim Einlesen diese Option auf False setzen?
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: Datensatz Analysen
Vielleicht hilft auch das hier um Umgang mit dieser Klasse:
https://cran.r-project.org/web/packages ... elled.html
https://cran.r-project.org/web/packages ... elled.html
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte