mariokart <- read.csv("https://vincentarelbundock.github.io/Rdatasets/csv/openintro/mariokart.csv")mario-compare-models
lm
regression
interaction
1 Aufgabe
Variieren Sie das folgende Modell mit einer bzw. beiden UV bzw. mit Interaktionseffekt. Welches Modell ist am besten?
lm_mario_2uv <- lm(total_pr ~ start_pr + ship_pr, data = mariokart %>% filter(total_pr < 100))
Hinweise:
- Nutzen Sie den Datensatz
mariokart. - Bonus: Visualisieren Sie das Streudiagramm!
Den Datensatz können Sie hier beziehen:
2 Lösung
library(easystats)
library(tidyverse)Modelle berechnen:
library(easystats)
# Modell a
lm_mario_2uv <- lm(total_pr ~ start_pr + ship_pr, data = mariokart %>% filter(total_pr < 100))
# Modell b
lm_mario_start_pr <- lm(total_pr ~ start_pr, data = mariokart %>% filter(total_pr < 100))
# Modell c
lm_mario_ship_pr <- lm(total_pr ~ ship_pr, data = mariokart %>% filter(total_pr < 100))
# Modell d
lm_mario_2uv_interaktion <- lm(total_pr ~ start_pr + ship_pr + start_pr:ship_pr, data = mariokart %>% filter(total_pr < 100))Modellgüten ausgeben lassen:
r2(lm_mario_2uv)# R2 for Linear Regression
R2: 0.107
adj. R2: 0.094
r2(lm_mario_start_pr)# R2 for Linear Regression
R2: 0.107
adj. R2: 0.101
r2(lm_mario_ship_pr)# R2 for Linear Regression
R2: 0.000
adj. R2: -0.007
r2(lm_mario_2uv_interaktion)# R2 for Linear Regression
R2: 0.108
adj. R2: 0.088
3 BONUS
Visualisieren Sie das Streudiagramm!
library(DataExplorer)
mariokart |>
select(total_pr, ship_pr) |>
filter(total_pr < 100) |>
plot_scatterplot( "total_pr")
library(ggpubr)
ggscatter(mariokart |> filter(total_pr < 100),
x = "ship_pr",
y = "total_pr",
add = "reg.line")