# Modellierungsbeispiel anhand der Bestzeiten im 100m Schwimmen der Männer und Frauen # Die Schwimmdaten sind im Paket "mosaic" enthalten install.packages("mosaic") library("mosaic") # Daten aus dem Paket holen Swim <- mosaicData::SwimRecords View(Swim) # Die Levels des Geschlechts anpassen, um Lesbarkeit zu verbessern levels(Swim$sex) <- c("Female", "Male") # Erster Plot, ohne Regression ----------------------------------------------------------- plot <- Swim %>% ggplot(aes(x=year, y=time)) + geom_point(aes(color=sex), size=6) + scale_color_brewer(palette = "Set1", guide=guide_legend(title="Sex")) + scale_x_continuous(limits=c(1905,2005)) + scale_y_continuous(limits=c(40,100), breaks = c(seq(40,100,10))) + xlab("") + ylab("Time (in seconds)") + theme_minimal() + theme(legend.position = "bottom") plot # Regression 1: Nur nach Jahr ------------------------------------------------------------ lm(time ~ year, data=Swim) %>% summary() plot + geom_smooth(method = "lm", se=FALSE, color="black", size=3) # Regression 2: Nur nach Geschlecht ------------------------------------------------------ lm(time ~ sex, data=Swim) %>% summary() plot + geom_line(aes(y=predict(lm(time ~ sex, data = Swim)), color=sex), size=3) # Regression 3: Nach Geschlecht und Jahr ------------------------------------------------- lm(time ~ year + sex, data=Swim) %>% summary() plot + geom_line(aes(y=predict(lm(time ~ sex + year, data = Swim)), color=sex), size=3) # Regression 4: Nach Geschlecht und Jahr und Interaktionsterm zw. beiden ----------------- lm(time ~ sex + year + sex:year, data = Swim) %>% summary() plot + geom_line(aes(y=predict(lm(time ~ sex + year + sex:year, data = Swim)), color=sex), size=3) # Unser R-Quadrat hat sich noch etwas verbessert im letzten Modell # Regression 5: Nach Geschlecht und Jahr und Interaktionsterm zw. beiden ----------------- lm(time ~ sex + year + poly(year,2):sex, data = Swim) %>% summary() plot + geom_line(aes(y=predict(lm(time ~ sex + year + poly(year,2):sex, data = Swim)), color=sex), size=3)