invisible header

Dies ist das Dokument mit Lösungen

Klick hier, um die Musterlösungen auszublenden

 

I. Variablentypen und Variablenstruktur

1. ESS-Daten der Welle 8 (2016) im Stata-Format (oder bei Mac als SPSS-Datei (.sav), falls Stata nicht funktioniert) herunterladen und einlesen.

# Working directory setzen (z.B. "c:\daten")
setwd("mein_laufwerk/mein_datenverzeichnis")
# Daten einlesen
library(haven)
ess_edit1 <- read_dta("ESS8e02_2.dta")
# oder: 
ess_edit1 <- read_sav("ESS8e02_2.sav") 

Ein neues Übungsskript erstellen.

# Statistik 1: R Tutorat
# Übungsskript zur Datenintegration
# Datum: 12.10.2022
# AutorIn: XXX

Tidyverse aktivieren

library(tidyverse)

2. Sind die Daten im Matrix-Format organisiert (Merkmalsträger: Zeilen, Merkmale: Spalten)?

View(ess_edit1)

Ja.

3. Wie viele Merkmalsträger, wie viele Merkmale sind im Datensatz?

dim(ess_edit1)
## [1] 44387   535

535 Merkmale (= Variablen in den Spalten), 44387 Merkmalsträger (= Fälle in den Zeilen).

4. Wie deutest du die Ausprägungen der Merkmale eisced, eiscedf, marsts und gndr? Nimm dir ggf. das Codebook zu Hilfe. Um welchen Variablentyp handelt es sich jeweils?

library(labelled)
## Warning: package 'labelled' was built under R version 3.6.3
varlist <- look_for(ess_edit1)

Mittels look_for() Befehl aus dem labelled Packages kannst eine aufbereitete Variablenübersicht erstellen. Darin kannst du die Variablen beispielsweise alphabetisch ordnen lassen und deren Variablennamen, ihre Labels, ihre Levels und auch Wertelabels ablesen. Achtung: Bei grösseren Datensätzen und langsamen Rechnern kann die Verwendung von look_for sehr viel Prozesszeit in Anspruch nehmen. Verwendet in dem Fall eventuell einen alternativen Befehl zur Variablenübersicht.

Du kannst auch den attributes() Befehl nutzen und die spezifischen Variablen direkt ansteuern. Mit dem attributes() Befehl kannst du ebenfalls Informationen über die Merkmale herauslesen, die typischerweise im Codebook stehen.

attributes(ess_edit1$eisced)
## $label
## [1] "Highest level of education, ES - ISCED"
## 
## $format.stata
## [1] "%51.0g"
## 
## $class
## [1] "haven_labelled" "vctrs_vctr"     "double"        
## 
## $labels
##             Not possible to harmonise into ES-ISCED 
##                                                   0 
##              ES-ISCED I , less than lower secondary 
##                                                   1 
##                        ES-ISCED II, lower secondary 
##                                                   2 
##           ES-ISCED IIIb, lower tier upper secondary 
##                                                   3 
##           ES-ISCED IIIa, upper tier upper secondary 
##                                                   4 
##        ES-ISCED IV, advanced vocational, sub-degree 
##                                                   5 
##     ES-ISCED V1, lower tertiary education, BA level 
##                                                   6 
## ES-ISCED V2, higher tertiary education, >= MA level 
##                                                   7 
##                                               Other 
##                                                  55 
##                                             Refusal 
##                                                  NA 
##                                          Don't know 
##                                                  NA 
##                                           No answer 
##                                                  NA
attributes(ess_edit1$eiscedf)
## $label
## [1] "Father's highest level of education, ES - ISCED"
## 
## $format.stata
## [1] "%51.0g"
## 
## $class
## [1] "haven_labelled" "vctrs_vctr"     "double"        
## 
## $labels
##             Not possible to harmonise into ES-ISCED 
##                                                   0 
##              ES-ISCED I , less than lower secondary 
##                                                   1 
##                        ES-ISCED II, lower secondary 
##                                                   2 
##           ES-ISCED IIIb, lower tier upper secondary 
##                                                   3 
##           ES-ISCED IIIa, upper tier upper secondary 
##                                                   4 
##        ES-ISCED IV, advanced vocational, sub-degree 
##                                                   5 
##     ES-ISCED V1, lower tertiary education, BA level 
##                                                   6 
## ES-ISCED V2, higher tertiary education, >= MA level 
##                                                   7 
##                                               Other 
##                                                  55 
##                                             Refusal 
##                                                  NA 
##                                          Don't know 
##                                                  NA 
##                                           No answer 
##                                                  NA
attributes(ess_edit1$marsts)
## $label
## [1] "Legal marital status"
## 
## $format.stata
## [1] "%66.0g"
## 
## $class
## [1] "haven_labelled" "vctrs_vctr"     "double"        
## 
## $labels
##                                                    Legally married 
##                                                                  1 
##                                In a legally registered civil union 
##                                                                  2 
##                                                  Legally separated 
##                                                                  3 
##                             Legally divorced/Civil union dissolved 
##                                                                  4 
##                                         Widowed/Civil partner died 
##                                                                  5 
## None of these (NEVER married or in legally registered civil union) 
##                                                                  6 
##                                                     Not applicable 
##                                                                 NA 
##                                                            Refusal 
##                                                                 NA 
##                                                         Don't know 
##                                                                 NA 
##                                                          No answer 
##                                                                 NA
attributes(ess_edit1$gndr)
## $label
## [1] "Gender"
## 
## $format.stata
## [1] "%12.0g"
## 
## $class
## [1] "haven_labelled" "vctrs_vctr"     "double"        
## 
## $labels
##      Male    Female No answer 
##         1         2        NA

Die Variable eisced misst den höchsterworbenen Bildungsgrad der Befragten. Dieser wird anhand des International Standard Classification of Education - (ISCED) gemessen. Die Variable eiscedf hingegen bezieht sich auf den höchsterworbenen Bildungsgrad des Vaters der befragten Person. Beide Variablen können als ordinalskaliert betrachtet werden, weil zwischen den Ausprägungen eine Rangordnung besteht, gleichwohl Abstände nicht numerisch deutbar sind. Das Merkmal marsts bezieht sich auf den Familienstand und das Merkmal gndr auf das Geschlecht. Beide sind nominalskaliert.

4b. Ermittle die Häufigkeitsverteilungen zu den Variablen marsts und gndr.

table(ess_edit1$marsts)
## 
##     1     2     3     4     5     6 
##   813   196   258  4246  3756 13040
table(ess_edit1$gndr)
## 
##     1     2 
## 21027 23351

Immerhin können wir aus dem Output schliessen, dass es keine falsch codierten Missings in den Variablen gibt. Inhaltlich ist der Output allerdings aufgrund der numerischen Codierungen nur mühsam, unter Zuhilfenahme des Codebook, interpretierbar. Ein guter Grund für die Faktorisierung kategorialer Variablen: Die Statistiken können aufgrund der dann meist expliziten Kategoriennamen besser gelesen werden. Also:

ess_edit1$marsts<-as_factor(ess_edit1$marsts)
ess_edit1$gndr<-as_factor(ess_edit1$gndr)
table(ess_edit1$marsts)
## 
##                                                    Legally married 
##                                                                813 
##                                In a legally registered civil union 
##                                                                196 
##                                                  Legally separated 
##                                                                258 
##                             Legally divorced/Civil union dissolved 
##                                                               4246 
##                                         Widowed/Civil partner died 
##                                                               3756 
## None of these (NEVER married or in legally registered civil union) 
##                                                              13040 
##                                                     Not applicable 
##                                                              21213 
##                                                            Refusal 
##                                                                215 
##                                                         Don't know 
##                                                                 54 
##                                                          No answer 
##                                                                596
table(ess_edit1$gndr)
## 
##      Male    Female No answer 
##     21027     23351         9

5. Wie deutest du die Ausprägungen der Variablen imbgeco, atchctr, atcherp? Um welchen Variablentyp handelt es sich jeweils?

attributes(ess_edit1$imbgeco)
attributes(ess_edit1$atchctr)
attributes(ess_edit1$atcherp)

Die Variable imbgeco ist eine Einstellungsvariable und misst die individuelle Einstellung zu den wirtschaftlichen Auswirkungen der Migration. Die Variable ist ordinalskaliert mit Ausprägungen von 0 (= Migration ist schlecht für die Wirtschaft) bis 10 (= Migration ist gut für die Wirtschaft). Sie kann auch als (quasi-)metrisch betrachtet werden. Auch die Variablen atchchr und atcherp sind ordinal- bzw. (quasi-)metrisch skaliert mit Ausprägungen von 0 (= keine Verbundenheit) bis 10 (= starke Verbundenheit). Erstere bezieht sich auf die individuelle Verbundenheit mit dem Land, letztere auf die individuelle Verbundenheit mit Europa. Es handelt sich bei diesen Einstellungsvariablen um Likert-Skalen, die strenggenommen ordinalskaliert sind, da man nicht davon ausgehen kann, dass die Befragten die Abstände zwischen den Antwortmöglichkeiten als gleich gross wahrnehmen. Trotzdem können diese für Auswertungen, welche intervallskalierte Daten voraussetzen, als “quasi-metrisch” betrachtet werden.

6. Wie deutest du die Ausprägungen der Variablen nwspol und netustm? Um welchen Variablentyp handelt es sich jeweils?

attributes(ess_edit1$nwspol)
attributes(ess_edit1$netustm)
Beide Variablen sind metrisch skaliert und werden in Minuten pro Tag gemessen. nwspol fragt nach dem täglichen Konsum von politischen Medien und netustm nach der täglichen Internet-Nutzung.

 

II. Variablenausprägungen, Verteilungen, Summary Statistics

7. Inspiziere den Datensatz mit dem Befehl summary(): Sind fehlende Werte korrekt kodiert?

summary(ess_edit1)

Fehlende Werte scheinen grundsätzlich korrekt als “NA” kodiert. Analysespezifische Inspektionen sind aber aufgrund der vielen Fälle und Variablen unbedingt notwendig - auch, weil sich im Laufe des Datenmanagements immer mal wieder fehlerhaft codierte fehlende Werte einschleichen können.

8. Interpretiere Median und Durchschnittswert der Variable netustm. Welcher der beiden Mittelwerte ist grösser? Weshalb ist das so?

mean(ess_edit1$netustm, na.rm = TRUE)
## [1] 197.6305
median(ess_edit1$netustm, na.rm = TRUE)
## [1] 135
summary(ess_edit1$netustm)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##     0.0    60.0   135.0   197.6   240.0  1440.0   14274

Der Durchschnitt der täglichen Internet-Nutzung beträgt 197.63 Minuten, während der Median tiefer liegt bei 135 Minuten. Das deutet darauf hin, dass es Ausreisser nach oben gibt, deren Extremität in der Berechnung des Mittelwerts, aber nicht des Medians einfliessen. Dies kann weiterhin untersucht werden, indem die Interquartilsabstände und der Range betrachtet werden: Die Variable hat Ausprägungen von 0 bis 1440, wobei der Median, der genau 50% der Verteilung ausmacht, näher beim 1. Quartil (=60) liegt, als beim 3. Quartil (=240). Ebenfalls ist der Abstand zum Maximum um einiges grösser als zum Minimum.

9. Lassen sich Median und Durchschnittswert der Variablen hmsacld sinnvoll interpretieren?

attributes(ess_edit1$hmsacld)
## $label
## [1] "Gay and lesbian couples right to adopt children"
## 
## $format.stata
## [1] "%26.0g"
## 
## $class
## [1] "haven_labelled" "vctrs_vctr"     "double"        
## 
## $labels
##             Agree strongly                      Agree 
##                          1                          2 
## Neither agree nor disagree                   Disagree 
##                          3                          4 
##          Disagree strongly                    Refusal 
##                          5                         NA 
##                 Don't know                  No answer 
##                         NA                         NA
mean(ess_edit1$hmsacld, na.rm = TRUE)
## [1] 2.948063
median(ess_edit1$hmsacld, na.rm = TRUE)
## [1] 3

Die Variable hmsacld misst die Einstellung zu Adoptionsrechten für Homosexuelle. Diese Variable ist ordinalskaliert mit Ausprägungen von 1 bis 5. Dementsprechend lässt sich der Median von 3 sinnvoll interpretieren, der Mittelwert (2.95) strenggenommen jedoch nicht - wird aber in der Praxis trotzdem häufig verwendet.

10. Wie hoch ist die Spannweite bzw. der Range des Alters der Befragten?

range(ess_edit1$agea, na.rm = TRUE)
## <labelled<double>[2]>: Age of respondent, calculated
## [1]  15 100
## 
## Labels:
##  value         label
##  NA(d) Not available

Die Befragten sind 15 bis 100 Jahre alt. Die Spannweite beträgt 85 Jahre (100-15).

11. Wie gross ist die Standardabweichung der Altersvariablen?

sd(ess_edit1$agea, na.rm = TRUE)
## [1] 18.61333

Die Standardabweichung der Altersvariable beträgt 18.61 Jahre: Der typische Altersunterschied zwischen zwei Personen beträgt etwa 18.61 Jahre.

12. Was ist beliebter unter den Befragten: Atomstrom oder Kohlestrom?

attributes(ess_edit1$elgcoal)
## $label
## [1] "How much electricity in [country] should be generated from coal"
## 
## $format.stata
## [1] "%45.0g"
## 
## $class
## [1] "haven_labelled" "vctrs_vctr"     "double"        
## 
## $labels
##                           A very large amount 
##                                             1 
##                                A large amount 
##                                             2 
##                               A medium amount 
##                                             3 
##                                A small amount 
##                                             4 
##                                   None at all 
##                                             5 
## I have not heard of this energy source before 
##                                            55 
##                                       Refusal 
##                                            NA 
##                                    Don't know 
##                                            NA 
##                                     No answer 
##                                            NA
attributes(ess_edit1$elgnuc)
## $label
## [1] "How much electricity in [country] should be generated from nuclear power"
## 
## $format.stata
## [1] "%45.0g"
## 
## $class
## [1] "haven_labelled" "vctrs_vctr"     "double"        
## 
## $labels
##                           A very large amount 
##                                             1 
##                                A large amount 
##                                             2 
##                               A medium amount 
##                                             3 
##                                A small amount 
##                                             4 
##                                   None at all 
##                                             5 
## I have not heard of this energy source before 
##                                            55 
##                                       Refusal 
##                                            NA 
##                                    Don't know 
##                                            NA 
##                                     No answer 
##                                            NA

Die Variablen elgcoal und elgnuc sind (streng genommen) ordinalskaliert mit Ausprägungen von 1 bis 5. Obacht: Die fehlenden Werte sind hier nicht alle korrekt als “NA” codiert! Die Kategorie “I have not heard of this source” ist mit dem Zahlenwert 55 codiert! Dass diese Kategorie nicht nur in der Variable angelegt, sondern auch entsprechend besetzt ist, erkennen wir auf Grundlage der Summary- und Häufigkeitsstatistik:

summary (ess_edit1$elgcoal)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##   1.000   3.000   4.000   4.447   5.000  55.000    3295
table (ess_edit1$elgcoal,useNA = "always")
## 
##     1     2     3     4     5    55  <NA> 
##   996  2884  7636 14924 14250   402  3295

Wir müssen vor der Analyse also Variablenrecodierungen vornehmen. (Dies stellt einen didaktischen Vorgriff auf die nächste Einheit dar, der sich leider nicht verhindern lässt):

ess_edit1$elgcoal[ess_edit1$elgcoal==55]<-NA
ess_edit1$elgnuc[ess_edit1$elgnuc==55]<-NA

Die “55”-Kategorie ist zwar nun nach wie vor in der Variable angelegt…

attributes(ess_edit1$elgcoal)

…aber die sie besetzenden Fälle sind in die NA-Kategorie gewandert…

summary(ess_edit1$elgcoal)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##   1.000   3.000   4.000   3.947   5.000   5.000    3697
table (ess_edit1$elgcoal,useNA = "always")
## 
##     1     2     3     4     5  <NA> 
##   996  2884  7636 14924 14250  3697

…sodass wir nun korrekte Mittelwertstatistiken erstellen können:

median(ess_edit1$elgcoal)
## [1] 4
median(ess_edit1$elgnuc)
## [1] 4

Der Median beider Variablen liegt bei 4. Daran lässt sich nicht erkennen, welche Energiequelle bevorzugt wird. Alternativer Vorschlag zur Ermittlung der Beliebtheit: Man kann die Anteile beider Gruppen 1+2 (pro) und 4+5 (contra) relativ zur Fallzahl berechnen. Dazu braucht man die Häufigkeitsverteilungen der Variablen, die wir hier mit table() darstellen.

table(ess_edit1$elgcoal)
## 
##     1     2     3     4     5 
##   996  2884  7636 14924 14250
table(ess_edit1$elgnuc)
## 
##     1     2     3     4     5 
##  2384  4527  6677  9255 18140

Wir können nun die Anteile per Hand berechnen oder den table() Befehl direkt in Kombination mit dem Befehl prop.table() verwenden:

prop.table(table(ess_edit1$elgcoal))
## 
##          1          2          3          4          5 
## 0.02447776 0.07087737 0.18766282 0.36677316 0.35020890
prop.table(table(ess_edit1$elgnuc))
## 
##          1          2          3          4          5 
## 0.05817046 0.11046043 0.16292121 0.22582534 0.44262255

Fazit: Atomstrom ist mit etwa 17% BefürworterInnen (Kat 1 & 2) beliebter als Kohlestrom mit etwa 9.5% BefürworterInnen.

13. Vergleiche die Verteilungen der Variablen atchctr und atcherp: Sind die Befragungspersonen emotional im Schnitt stärker mit Europa oder ihrem Heimatland verbunden?

summary(ess_edit1$atchctr)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##   0.000   7.000   8.000   7.788  10.000  10.000     235
summary(ess_edit1$atcherp)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##   0.000   4.000   6.000   5.464   7.000  10.000     688

Die Befragten fühlen sich im Schnitt stärker zu ihrem eigenen Land (mean = 7.79) als zu Europa (mean = 5.46) verbunden.

14. Findest du eine stärkere Streuung bei der Nationen- oder Europaaffinität? Wie ist dies zu deuten?

sd(ess_edit1$atchctr, na.rm = TRUE)
## [1] 2.203591
sd(ess_edit1$atcherp, na.rm = TRUE)
## [1] 2.720339

Die emotionale Verbundenheit zu Europa hat eine grössere Standardabweichung von 2.72 als die Standardabweichung der Verbundenheit zum eigenen Land von 2.2. Das bedeutet, dass die Daten bezüglich der Europaaffinität eine stärkere Streuung um den Mittelwert aufzeigen.

Offene Diskussionsfrage: In den Aufgaben habt ihr alle Befragungspersonen (aus ganz Europa) gemeinsam analysiert. Welche Unterschiede würdet ihr in getrennten, länderspezifischen Analysen erwarten? Beispielsweise Deutschland im Vergleich zur Schweiz?

 

logo.knit

Conforti, E., De Min, N., Dürr, R., Siefart, F., Strassmann-Rocha, D., Giesselmann, M. (2020): “R für das Soziologiestudium an der UZH”
unter Mitarbeit von Mara Moos und Sebastian Senn