Daten laden
# RData-Datei laden
setwd("C:/Users/schil/Documents/daten")
load("BTGDEUI3.Rdata")
ls() # Objektname prüfen
## [1] "BTGDEUI3"
data <- BTGDEUI3
ICT-bezogene Lehrerfortbildung (IT3G08 A–H)
# Umkodieren
data <- data %>%
mutate(across(starts_with("IT3G08"),
~ case_when(
. == 1 ~ 1L, # Ja -> 1
. == 2 ~ 0L, # Nein -> 0
. == 3 ~ NA_integer_, # Weiß ich nicht -> NA
TRUE ~ NA_integer_ # andere Werte -> NA
),
.names = "bin_{.col}"))
# Kontrolle der Rohwerte nach Umkodierung
data %>%
select(starts_with("bin_IT3G08")) %>%
summary()
## bin_IT3G08A bin_IT3G08B bin_IT3G08C bin_IT3G08D
## Min. :0.0000 Min. :0.0000 Min. :0.000 Min. :0.0000
## 1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.:0.000 1st Qu.:0.0000
## Median :0.0000 Median :0.0000 Median :0.000 Median :0.0000
## Mean :0.3843 Mean :0.3729 Mean :0.381 Mean :0.2819
## 3rd Qu.:1.0000 3rd Qu.:1.0000 3rd Qu.:1.000 3rd Qu.:1.0000
## Max. :1.0000 Max. :1.0000 Max. :1.000 Max. :1.0000
## NA's :168 NA's :232 NA's :234 NA's :202
## bin_IT3G08E bin_IT3G08F bin_IT3G08G bin_IT3G08H
## Min. :0.0000 Min. :0.0000 Min. :0.0000 Min. :0.0000
## 1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.:0.0000
## Median :0.0000 Median :0.0000 Median :0.0000 Median :0.0000
## Mean :0.1656 Mean :0.2134 Mean :0.2517 Mean :0.2045
## 3rd Qu.:0.0000 3rd Qu.:0.0000 3rd Qu.:1.0000 3rd Qu.:0.0000
## Max. :1.0000 Max. :1.0000 Max. :1.0000 Max. :1.0000
## NA's :225 NA's :240 NA's :216 NA's :263
# Fortbildungsindex: Anzahl verschiedener besuchter ICT-Fortbildungen
data <- data %>%
mutate(ict_training_count = rowSums(select(., starts_with("bin_IT3G08")), na.rm = TRUE))
# Verteilung anzeigen
ggplot(data, aes(x = ict_training_count)) +
geom_bar() +
labs(title = "Anzahl besuchter ICT-Fortbildungen",
x = "Fortbildungsarten (Anzahl)",
y = "Anzahl Lehrkräfte") +
theme_minimal()

ICT-Nutzung im Unterricht (IT3G16 A–X)
# Nur die relevanten Variablen auswählen
ict_vars <- data %>%
select(starts_with("IT3G16"))
# Cronbach's Alpha berechnen
alpha_result <- psych::alpha(ict_vars)
alpha_result$total$raw_alpha
## [1] 0.9095189
# Nur wenn Alpha akzeptabel (> 0.7): Index berechnen
data <- data %>%
mutate(ict_use_index = rowMeans(ict_vars, na.rm = TRUE))
# Verteilung anzeigen
ggplot(data, aes(x = ict_use_index)) +
geom_histogram(bins = 20, fill = "darkgreen") +
labs(title = "ICT-Nutzung im Unterricht", x = "Nutzungsindex", y = "Häufigkeit") +
theme_minimal()

Zusammenhang zwischen Fortbildung und ICT-Nutzung
ggplot(data, aes(x = ict_training_count, y = ict_use_index)) +
geom_jitter(width = 0.3, height = 0.1, alpha = 0.3) +
geom_smooth(method = "lm", color = "blue") +
labs(title = "Zusammenhang zwischen ICT-Fortbildung und ICT-Nutzung",
x = "Anzahl besuchter verschiedener ICT-Fortbildungen",
y = "Index: ICT-Nutzung im Unterricht") +
theme_minimal()

Korrelation und lineare Regression
cor.test(data$ict_training_count, data$ict_use_index)
##
## Pearson's product-moment correlation
##
## data: data$ict_training_count and data$ict_use_index
## t = 3.3205, df = 2300, p-value = 0.0009126
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.02829752 0.10961676
## sample estimates:
## cor
## 0.06907188
model <- lm(ict_use_index ~ ict_training_count, data = data)
summary(model)
##
## Call:
## lm(formula = ict_use_index ~ ict_training_count, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.3127 -0.4395 -0.1562 0.1765 4.7126
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.787371 0.023727 117.475 < 2e-16 ***
## ict_training_count 0.025352 0.007635 3.321 0.000913 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.8585 on 2300 degrees of freedom
## Multiple R-squared: 0.004771, Adjusted R-squared: 0.004338
## F-statistic: 11.03 on 1 and 2300 DF, p-value: 0.0009126
Fächerbezug: Unterschiede in der ICT-Nutzung nach
Unterrichtsfach
fach_labels <- c(
"1" = "Deutsch",
"2" = "Fremdsprache",
"3" = "Mathematik",
"4" = "Naturwissenschaften",
"5" = "Sozialkunde",
"6" = "Kunst/Musik",
"7" = "Informatik",
"8" = "Berufsvorbereitung",
"9" = "Andere"
)
data <- data %>%
mutate(fach = as.factor(IT3G15),
fach = fct_recode(fach, !!!fach_labels))
# Boxplot: ICT-Nutzung pro Fach
ggplot(data, aes(x = fach, y = ict_use_index)) +
geom_boxplot(fill = "steelblue") +
labs(
title = "ICT-Nutzung im Unterricht nach Fach",
x = "Unterrichtsfach",
y = "Index: ICT-Nutzung"
) +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
