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
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)
with(TitanicSurvival, plotMeans(age, passengerClass, survived, error.bars="conf.int", level=0.95, connect=FALSE,
legend.pos="farright"))
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
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.