Denken Sie bei allen Aufgaben daran, den Code im R-Skript sinnvoll zu gliedern und zu kommentieren.
Vorbereitung
Zunächst müssen wir das readxl, forcats und das dplyr Paket wieder aktivieren und einen Teil des Code aus dem letzten Tutorial und den letzten Aufgaben wieder durchführen.
# Paket einladen
library(readxl)
library(dplyr)
library(forcats)
# Pfad setzen
rstudioapi::getActiveDocumentContext()$path |>
dirname() |>
setwd()
# Daten einladen
data <- read_excel("Pennington_2021.xlsx", sheet = "Study_Data")
# Faktoren erstellen
data$Gender <- factor(data$Gender,
levels = c(1, 2),
labels = c("weiblich", "männlich"))
data$Year <- as.factor(data$Year)
# Faktoren Rekodieren
data$Year <- fct_recode(data$Year,
"7. Schuljahr" = "Year7",
"8. Schuljahr" = "Year8")
data$Ethnicity <- as.factor(data$Ethnicity)
# NA-Werte ersetzen
data <- data %>%
mutate(across(where(is.numeric), ~ na_if(.x, -9)))
# Skalenwerte erstellen
data <- data %>%
mutate(Total_Competence = rowMeans(data[,c("Total_Competence_Maths", "Total_Competence_English", "Total_Competence_Science")]))
data$Total_SelfConcept <- rowMeans(data[, c("Total_SelfConcept_Maths", "Total_SelfConcept_Science", "Total_SelfConcept_English")])
# Gruppierungsvariablen erstellen
data <- data %>%
mutate(Achiever = case_when(
Total_Competence_Maths >= 4 &
Total_Competence_English >= 4 &
Total_Competence_Science >= 4 ~ "High Achiever",
Total_Competence_Maths == 1 &
Total_Competence_English == 1 &
Total_Competence_Science == 1 ~ "Low Achiever",
TRUE ~ "Medium Achiever" # Alle anderen Fälle
))
data <- data %>%
mutate(Career_Recommendation = case_when(
Maths_AttainmentData > 10 |
Science_AttainmentData > 10 |
Eng_AttainmentData > 10 |
Computing_AttainmentData > 10 ~ "Empfohlen",
TRUE ~ "Nicht empfohlen"
)) # Erstellen der neuen Variable
Falls Sie nicht am Workshop teilnehmen und daher keine lokale Version des Datensatzes haben, verwenden Sie diesen Code.
# Paket einladen
library(readxl)
library(dplyr)
library(forcats)
# Daten einladen
source("https://pandar.netlify.app/workshops/fdz/fdz_data_prep.R")
# Faktoren erstellen
data$Gender <- factor(data$Gender,
levels = c(1, 2),
labels = c("weiblich", "männlich"))
data$Year <- as.factor(data$Year)
# Faktoren Rekodieren
data$Year <- fct_recode(data$Year,
"7. Schuljahr" = "Year7",
"8. Schuljahr" = "Year8")
data$Ethnicity <- as.factor(data$Ethnicity)
# NA-Werte ersetzen
data <- data %>%
mutate(across(where(is.numeric), ~ na_if(.x, -9)))
# Skalenwerte erstellen
data <- data %>%
mutate(Total_Competence = rowMeans(data[,c("Total_Competence_Maths", "Total_Competence_English", "Total_Competence_Science")]))
data$Total_SelfConcept <- rowMeans(data[, c("Total_SelfConcept_Maths", "Total_SelfConcept_Science", "Total_SelfConcept_English")])
# Gruppierungsvariablen erstellen
data <- data %>%
mutate(Achiever = case_when(
Total_Competence_Maths >= 4 &
Total_Competence_English >= 4 &
Total_Competence_Science >= 4 ~ "High Achiever",
Total_Competence_Maths == 1 &
Total_Competence_English == 1 &
Total_Competence_Science == 1 ~ "Low Achiever",
TRUE ~ "Medium Achiever" # Alle anderen Fälle
))
data <- data %>%
mutate(Career_Recommendation = case_when(
Maths_AttainmentData > 10 |
Science_AttainmentData > 10 |
Eng_AttainmentData > 10 |
Computing_AttainmentData > 10 ~ "Empfohlen",
TRUE ~ "Nicht empfohlen"
)) # Erstellen der neuen Variable
Teil 1 - Grafikerstellung
- Zeichnen Sie ein Histogramm für die Variable
Total_Mindsetund passen Sie die Grenzen der x-Achse an. Die Farbe der Umrandung der einzelnen Balekn soll Türkis sein. Finden Sie heraus, wie Sie sich alle voreingestellten Farben (wieredundblue) anzeigen lassen können und wählen Sie ein Türkis, das Ihnen gefällt. - Zeichnen Sie ein Balkendiagramm für die Variable
Achiever. Färben Sie dabei jeden Balken in einer der Regenbogenpaletterainbow(). - In der Funktion
boxplot()kann die Ausrichtung des Boxplots (vertikal, horizontal) und auch die Darstellung der Ausreißer verändert werden. Zeichnen Sie einen horizontalen Boxplot für die VariableTotal_Competence_Mathsund unterdrücken Sie die Darstellung der Ausreißer. - Zeichnen Sie einen Scatterplot für den Zusammenhang der Variablen
Total_MindsetundTotal_SelfConcept. Passen Sie die Form (Dreiecke) und Farbe der (Grün) der Punkte an.
Teil 2 - Lineare Modelle
- In Teil 1 haben wir gelernt, dass die Funktion
boxplot()genutzt werden kann, um Boxplots zu erstellen. Erstellen Sie im Zusammenspiel mit der Syntax, die Sie in Teil 2 gelernt haben einen gruppierten Boxplot, der die Verteilung vonTotal_Competence_Mathsin den Gruppen vonGenderzeigt. - Erstellen Sie eine multiple Regression mit
Science_AttainmentDataals abhängiger Variable. Prädiktoren sollenTotal_CompetenceundTotal_Mindsetsein. Wie ist das Regressionsgewicht vonTotal_Competencein diesem Fall und welcher p-Wert wird ihm zugeschrieben? - Finden Sie mit Hilfe des Internets heraus, wie standardisierte Regressionsparameter mit Hilfe einer Funktion aus einem noch nicht verwendeten Paket ausgegeben werden können.
- Diese Aufgabe ist nur zur Veranschaulichung der Syntax - keine Empfehlung für solch ein Modell: Als zuästzlicher Prädiktor soll
Total_SelfConcepthinzugefügt werden. Außerdem soll die Dreifachinteraktion der Prädiktoren aufgenommen werden, aber keine Interaktionen zwischen zwei Prädiktoren.