1 Alle Datensätze in R

Um zu sehen, welche Datensätze es in R gibt, tippt man einfach “data()” in die Console (oder in einen Code-Chunk).

data()

Um dann für einen der unzähligen Datensätze zu sehen, was sich dahinter verbirgt, tippt man einfach “?NAME_DATENSATZ” in die Console (oder einen Code-Chunk).

Wir könnten z.B. nachschlagen, was in dem Datensatz “TitanicSurvival” enthalten ist.

?TitanicSurvival
## No documentation for 'TitanicSurvival' in specified packages and libraries:
## you could try '??TitanicSurvival'

Man sieht hier auch, dass dieser Datensatz im Paket “car” enthalten ist. Das muss daher zunächst geladen werden.

library(car) # activate package "car"
## Loading required package: carData
data("TitanicSurvival") # load the Titanic data

2 Aufgaben

  • Testen Sie, ob die Variablen “passengerClass” und “survived” die Variable “age” (das Alter der Passagiere) vorhersagen.

  • Machen Sie auch eine Abbildung, die den Zusammenhang zwischen diesen Faktoren und dem Kriterium Age zeigt.

  • Erstellen Sie dann ein weiteres Modell, dass zusätzlich den Faktor “Geschlecht” aufnimmt.

  • Testen Sie, ob dieses zweite Modell mehr Varianz im Kriterium Alter aufklärt als das erste Modell.

library(Rcmdr)

3 Analyse

3.1 Abbildung

with(TitanicSurvival, plotMeans(age, passengerClass, survived, error.bars="conf.int", level=0.95, connect=FALSE, 
  legend.pos="farright"))

3.2 Lineares Modell

LinearModel.1 <- lm(age ~ passengerClass + survived, data=TitanicSurvival)
summary(LinearModel.1)
## 
## Call:
## lm(formula = age ~ passengerClass + survived, data = TitanicSurvival)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -41.051  -8.170  -0.998   7.939  47.587 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)        43.0506     0.9346  46.065  < 2e-16 ***
## passengerClass2nd -10.8541     1.1121  -9.760  < 2e-16 ***
## passengerClass3rd -16.6380     1.0047 -16.560  < 2e-16 ***
## survivedyes        -6.1048     0.8516  -7.169 1.43e-12 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 12.82 on 1042 degrees of freedom
##   (263 observations deleted due to missingness)
## Multiple R-squared:  0.2109, Adjusted R-squared:  0.2086 
## F-statistic: 92.84 on 3 and 1042 DF,  p-value: < 2.2e-16

3.3 Neues Modell mit Geschlecht

Modell anpassen

LinearModel.2 <- lm(age ~ passengerClass + survived + sex, data=TitanicSurvival)
summary(LinearModel.2)
## 
## Call:
## lm(formula = age ~ passengerClass + survived + sex, data = TitanicSurvival)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -40.326  -7.719  -0.975   7.926  47.453 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)        42.3256     1.2651  33.455   <2e-16 ***
## passengerClass2nd -10.8273     1.1127  -9.730   <2e-16 ***
## passengerClass3rd -16.6069     1.0055 -16.516   <2e-16 ***
## survivedyes        -5.6584     1.0004  -5.656    2e-08 ***
## sexmale             0.8287     0.9744   0.850    0.395    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 12.82 on 1041 degrees of freedom
##   (263 observations deleted due to missingness)
## Multiple R-squared:  0.2115, Adjusted R-squared:  0.2084 
## F-statistic: 69.79 on 4 and 1041 DF,  p-value: < 2.2e-16

Modell vergleichen mit vorherigem

anova(LinearModel.1,LinearModel.2)
## Analysis of Variance Table
## 
## Model 1: age ~ passengerClass + survived
## Model 2: age ~ passengerClass + survived + sex
##   Res.Df    RSS Df Sum of Sq      F Pr(>F)
## 1   1042 171309                           
## 2   1041 171190  1    118.94 0.7233 0.3953

Das zweite Modell ist nicht signifikant verschieden. Faktor Geschlecht muss also nicht aufgenommen werden.