title | author | date | output | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Faktorenanalyse-Check 2019 |
Marvin Reis |
20 01 2022 |
|
In diesem Codeblog analysieren wir die Faktorenanalyse des GISD.
library(tidyverse) # Tidyverse Methods
library(bookdown)
library(readxl) # Read Excel
library(pastecs) # descriptive stats
library(knitr)
library(ggplot2)
home <- getwd()
setwd(home)
Impdata.imputed <- readRDS("Outfiles/2022_v03/Impdata_check.rds")
# Variablenliste für die Faktorenanalyse
#print(listofdeterminants)
#Arbeit
TS_Arbeitswelt <- Impdata.imputed %>% ungroup() %>% filter(Jahr > 1999) %>%
select(Beschaeftigtenquote,Arbeitslosigkeit,Bruttoverdienst_ln)
TS_Arbeitswelt_GVB <- Impdata.imputed %>% group_by(Gemeindeverband,Jahr) %>% filter(Jahr > 1999) %>% mutate(Beschaeftigtenquote = weighted.mean(Beschaeftigtenquote,Bevoelkerung), Arbeitslosigkeit = weighted.mean(Arbeitslosigkeit,Bevoelkerung), Bruttoverdienst_ln = weighted.mean(Bruttoverdienst_ln,Bevoelkerung)) %>% ungroup() %>% select(Gemeindeverband,Beschaeftigtenquote,Arbeitslosigkeit,Bruttoverdienst_ln) %>% unique() %>% select(-Gemeindeverband)
TS_Arbeitswelt_Kreis <- Impdata.imputed %>% group_by(Kreis,Jahr) %>% filter(Jahr > 1999) %>% mutate(Beschaeftigtenquote = weighted.mean(Beschaeftigtenquote,Bevoelkerung), Arbeitslosigkeit = weighted.mean(Arbeitslosigkeit,Bevoelkerung), Bruttoverdienst_ln = weighted.mean(Bruttoverdienst_ln,Bevoelkerung)) %>% ungroup() %>% select(Kreis,Beschaeftigtenquote,Arbeitslosigkeit,Bruttoverdienst_ln) %>% unique() %>% select(-Kreis)
#Einkommen
TS_Einkommen <- Impdata.imputed %>% filter(Jahr > 1999) %>% select(Einkommensteuer_ln,Haushaltseinkommen_ln,Schuldnerquote)
TS_Einkommen_GVB <- Impdata.imputed %>% group_by(Gemeindeverband,Jahr) %>% filter(Jahr > 1999) %>% mutate(Einkommensteuer_ln = weighted.mean(Einkommensteuer_ln,Bevoelkerung), Haushaltseinkommen_ln = weighted.mean(Haushaltseinkommen_ln,Bevoelkerung), Schuldnerquote = weighted.mean(Schuldnerquote,Bevoelkerung)) %>% ungroup() %>% select(Gemeindeverband,Einkommensteuer_ln,Haushaltseinkommen_ln,Schuldnerquote) %>% unique() %>% select(-Gemeindeverband)
TS_Einkommen_Kreis <- Impdata.imputed %>% group_by(Kreis,Jahr) %>% filter(Jahr > 1999) %>% mutate(Einkommensteuer_ln = weighted.mean(Einkommensteuer_ln,Bevoelkerung), Haushaltseinkommen_ln = weighted.mean(Haushaltseinkommen_ln,Bevoelkerung), Schuldnerquote = weighted.mean(Schuldnerquote,Bevoelkerung)) %>% ungroup() %>% select(Kreis,Einkommensteuer_ln,Haushaltseinkommen_ln,Schuldnerquote) %>% unique() %>% select(-Kreis)
#Bildung
TS_Bildung <- Impdata.imputed %>% filter(Jahr > 1999) %>% select(BeschaeftigtemitakadAbschluss_adj,BeschaeftigteohneAbschluss_adj,SchulabgaengerohneAbschluss_adj)
TS_Bildung_NUTS2 <- Impdata.imputed %>% filter(Jahr > 1999) %>% select(BeschaeftigtemitakadAbschluss_adj,BeschaeftigteohneAbschluss_adj,BevoelkerungmitakadAbschluss,BevoelkerungohneAbschluss,SchulabgaengerohneAbschluss_adj)
TS_Bildung_o <- Impdata.imputed %>% filter(Jahr > 1999) %>% select(BeschaeftigtemitakadAbschluss_adj,BeschaeftigteohneAbschluss,SchulabgaengerohneAbschluss)
TS_Bildung_4items <- Impdata.imputed %>% filter(Jahr > 1999) %>% select(BeschaeftigtemitakadAbschluss_adj,BeschaeftigteohneAbschluss_adj,SchulabgaengerohneAbschluss_adj, SchulabgaengermitHochschulreife_adj)
TS_Bildung_4items_o <- Impdata.imputed %>% filter(Jahr > 1999) %>% select(BeschaeftigtemitakadAbschluss_adj,BeschaeftigteohneAbschluss,SchulabgaengerohneAbschluss_adj, SchulabgaengermitHochschulreife_adj)
TS_Bildung_GVB <- Impdata.imputed %>% group_by(Gemeindeverband,Jahr) %>% filter(Jahr > 1999) %>% mutate(BeschaeftigtemitakadAbschluss_adj = weighted.mean(BeschaeftigtemitakadAbschluss_adj,Bevoelkerung), BeschaeftigteohneAbschluss_adj = weighted.mean(BeschaeftigteohneAbschluss_adj,Bevoelkerung), SchulabgaengerohneAbschluss_adj = weighted.mean(SchulabgaengerohneAbschluss_adj,Bevoelkerung)) %>% ungroup() %>% select(Gemeindeverband,BeschaeftigtemitakadAbschluss_adj,BeschaeftigteohneAbschluss_adj,SchulabgaengerohneAbschluss_adj) %>% unique() %>% select(-Gemeindeverband)
TS_Bildung_Kreis <- Impdata.imputed %>% group_by(Kreis,Jahr) %>% filter(Jahr > 1999) %>% mutate(BeschaeftigtemitakadAbschluss_adj = weighted.mean(BeschaeftigtemitakadAbschluss_adj,Bevoelkerung), BeschaeftigteohneAbschluss_adj = weighted.mean(BeschaeftigteohneAbschluss_adj,Bevoelkerung), SchulabgaengerohneAbschluss_adj = weighted.mean(SchulabgaengerohneAbschluss_adj,Bevoelkerung)) %>% ungroup() %>% select(Kreis,BeschaeftigtemitakadAbschluss_adj,BeschaeftigteohneAbschluss_adj,SchulabgaengerohneAbschluss_adj) %>% unique() %>% select(-Kreis)
#Gesamt
TS_Gesamt <- Impdata.imputed %>% ungroup() %>% filter(Jahr > 1999) %>% select(Beschaeftigtenquote,Arbeitslosigkeit,Bruttoverdienst_ln,Einkommensteuer_ln,Haushaltseinkommen_ln,Schuldnerquote,BeschaeftigtemitakadAbschluss_adj,BeschaeftigteohneAbschluss_adj,SchulabgaengerohneAbschluss_adj)
Es werden Hauptkomponentenanalysen für jede der drei Subskalen auf Basis der imputierten Daten geschätzt.
# PCA für die Arbeitsweltdimension
TS_Arbeitswelt.pca <- prcomp(TS_Arbeitswelt, center = TRUE, scale. = TRUE, retx=TRUE, rank. = 1)
TS_Arbeitswelt_GVB.pca <- prcomp(TS_Arbeitswelt_GVB, center = TRUE, scale. = TRUE, retx=TRUE, rank. = 1)
TS_Arbeitswelt_Kreis.pca <- prcomp(TS_Arbeitswelt_Kreis, center = TRUE, scale. = TRUE, retx=TRUE, rank. = 1)
# PCA für die Einkommensdimension
TS_Einkommen.pca <- prcomp(TS_Einkommen, center = TRUE, scale. = TRUE, retx=TRUE, rank. = 1)
TS_Einkommen_GVB.pca <- prcomp(TS_Einkommen_GVB, center = TRUE, scale. = TRUE, retx=TRUE, rank. = 1)
TS_Einkommen_Kreis.pca <- prcomp(TS_Einkommen_Kreis, center = TRUE, scale. = TRUE, retx=TRUE, rank. = 1)
# PCA für die Bildungsdimension
TS_Bildung.pca <- prcomp(TS_Bildung, center = TRUE, scale. = TRUE, retx=TRUE, rank. = 1)
TS_Bildung_NUTS2.pca <- prcomp(TS_Bildung_NUTS2, center = TRUE, scale. = TRUE, retx=TRUE, rank. = 1)
TS_Bildung_4items.pca <- prcomp(TS_Bildung_4items, center = TRUE, scale. = TRUE, retx=TRUE, rank. = 1)
TS_Bildung_4items_o.pca <- prcomp(TS_Bildung_4items_o, center = TRUE, scale. = TRUE, retx=TRUE, rank. = 1)
TS_Bildung_GVB.pca <- prcomp(TS_Bildung_GVB, center = TRUE, scale. = TRUE, retx=TRUE, rank. = 1)
TS_Bildung_Kreis.pca <- prcomp(TS_Bildung_Kreis, center = TRUE, scale. = TRUE, retx=TRUE, rank. = 1)
# PCA Gesamt
TS_Gesamt.pca <- prcomp(TS_Gesamt, center = TRUE, scale. = TRUE, retx = TRUE, rank. = 1)
par(mfrow=c(1, 4))
plot(TS_Arbeitswelt.pca, main = "Arbeitswelt (Eigenwerte)", ylim=c(0,2.2))
plot(TS_Einkommen.pca, main = "Einkommen (Eigenwerte)", ylim=c(0,2.2))
plot(TS_Bildung.pca, main = "Bildung (Eigenwerte)", ylim=c(0,2.2))
Varianz_tab <- cbind("F_A" = "Faktor1", "Var_A" = round(TS_Arbeitswelt.pca$sdev^2, digits = 3), "Var_E" = round(TS_Einkommen.pca$sdev^2, digits = 3), "Var_B" = round(TS_Bildung.pca$sdev^2, digits = 3))
Varianz_tab <- cbind(as.data.frame(Varianz_tab))
Varianz_tab$F_A <- c("Faktor 1", "Faktor 2", "Faktor 3")
colnames(Varianz_tab) <- c("Faktoren", "Varianz Arbeitswelt", "Varianz Einkommen", "Varianz Bildung")
kable(Varianz_tab, caption = "Varianz der Faktoren (Eigenwerte)")
Table: (#tab:unnamed-chunk-2)Varianz der Faktoren (Eigenwerte)
Faktoren | Varianz Arbeitswelt | Varianz Einkommen | Varianz Bildung |
---|---|---|---|
Faktor 1 | 1.772 | 2.055 | 1.572 |
Faktor 2 | 0.774 | 0.769 | 0.786 |
Faktor 3 | 0.454 | 0.176 | 0.642 |
# Componentoverview
GISD_Komponents <- cbind("Teildimension"="Arbeitswelt","Faktorladung"=round((TS_Arbeitswelt.pca$rotation*sqrt(abs(TS_Arbeitswelt.pca$sdev[1]^2))), digits = 3),"Component"=round(TS_Arbeitswelt.pca$rotation, digits = 3))
GISD_Komponents <- rbind(GISD_Komponents,cbind("Teildimension"="Einkommen","Faktorladung"=round((TS_Einkommen.pca$rotation*sqrt(abs(TS_Einkommen.pca$sdev[1]^2))), digits = 3),"Component"=round(TS_Einkommen.pca$rotation, digits = 3)))
GISD_Komponents <- rbind(GISD_Komponents,cbind("Teildimension"="Bildung","Faktorladung"=round((TS_Bildung.pca$rotation*sqrt(abs(TS_Bildung.pca$sdev[1]^2))), digits = 3),"Component"=round(TS_Bildung.pca$rotation, digits = 3)))
GISD_Komponents <- cbind("Variables"=as.data.frame(rownames(GISD_Komponents)),as.data.frame(GISD_Komponents))
rownames(GISD_Komponents) <- NULL
colnames(GISD_Komponents) <- c("Variable","Dimension","Faktorladung","Component")
GISD_Komponents$prop_dem <- round(as.numeric(GISD_Komponents$Component)^2*100,digits=1)
GISD_Komponents$prop_GISD <- round(as.numeric(GISD_Komponents$prop_dem)/3, digits = 1)
colnames(GISD_Komponents) <- c("Variable","Dimension","Faktorladung","Component", "Anteil Teilscore", "Anteil GISD")
GISD_Komponents$Variable <- c("Beschäftigtenquote", "Arbeitslosigkeit", "Bruttoverdienst (log.)", "Einkommensteuer (log.)", "Haushaltseinkommen (log.)", "Schuldnerquote", "Beschäftigte mit akad. Abschluss (adj.)", "Beschäftigte ohne Abschluss (adj.)", "Schulabgänger ohne Abschluss (adj.)")
kable(GISD_Komponents, caption = "Faktorladungen und Anteile an den Teilscores sowie am Index")
Table: (#tab:unnamed-chunk-3)Faktorladungen und Anteile an den Teilscores sowie am Index
Variable | Dimension | Faktorladung | Component | Anteil Teilscore | Anteil GISD |
---|---|---|---|---|---|
Beschäftigtenquote | Arbeitswelt | 0.64 | 0.481 | 23.1 | 7.7 |
Arbeitslosigkeit | Arbeitswelt | -0.841 | -0.632 | 39.9 | 13.3 |
Bruttoverdienst (log.) | Arbeitswelt | 0.81 | 0.608 | 37.0 | 12.3 |
Einkommensteuer (log.) | Einkommen | -0.914 | -0.638 | 40.7 | 13.6 |
Haushaltseinkommen (log.) | Einkommen | -0.921 | -0.643 | 41.3 | 13.8 |
Schuldnerquote | Einkommen | 0.608 | 0.424 | 18.0 | 6.0 |
Beschäftigte mit akad. Abschluss (adj.) | Bildung | 0.732 | 0.584 | 34.1 | 11.4 |
Beschäftigte ohne Abschluss (adj.) | Bildung | -0.771 | -0.615 | 37.8 | 12.6 |
Schulabgänger ohne Abschluss (adj.) | Bildung | -0.663 | -0.529 | 28.0 | 9.3 |
# Componentoverview
GISD_Komponents <- cbind("Teildimension"="Unidimensional","Faktorladung"=round((TS_Gesamt.pca$rotation*sqrt(abs(TS_Gesamt.pca$sdev[1]^2))), digits = 3),"Component"=round(TS_Gesamt.pca$rotation, digits = 3))
GISD_Komponents <- cbind("Variables"=as.data.frame(rownames(GISD_Komponents)),as.data.frame(GISD_Komponents))
rownames(GISD_Komponents) <- NULL
colnames(GISD_Komponents) <- c("Variable","Dimension","Faktorladung","Component")
GISD_Komponents$Variable <- c("Beschäftigtenquote", "Arbeitslosigkeit", "Bruttoverdienst (log.)", "Einkommensteuer (log.)", "Haushaltseinkommen (log.)", "Schuldnerquote", "Beschäftigte mit akad. Abschluss (adj.)", "Beschäftigte ohne Abschluss (adj.)", "Schulabgänger ohne Abschluss (adj.)")
kable(GISD_Komponents, caption = "Faktorladungen und Anteile an den Teilscores sowie am Index (Unidimensional)")
Table: (#tab:unnamed-chunk-4)Faktorladungen und Anteile an den Teilscores sowie am Index (Unidimensional)
Variable | Dimension | Faktorladung | Component |
---|---|---|---|
Beschäftigtenquote | Unidimensional | 0.503 | 0.244 |
Arbeitslosigkeit | Unidimensional | -0.835 | -0.404 |
Bruttoverdienst (log.) | Unidimensional | 0.756 | 0.366 |
Einkommensteuer (log.) | Unidimensional | 0.899 | 0.435 |
Haushaltseinkommen (log.) | Unidimensional | 0.887 | 0.429 |
Schuldnerquote | Unidimensional | -0.538 | -0.26 |
Beschäftigte mit akad. Abschluss (adj.) | Unidimensional | 0.461 | 0.223 |
Beschäftigte ohne Abschluss (adj.) | Unidimensional | -0.433 | -0.209 |
Schulabgänger ohne Abschluss (adj.) | Unidimensional | -0.682 | -0.33 |
# Componentoverview
GISD_Komponents <- cbind("Teildimension"="Arbeitswelt","Gemeinde"=round((TS_Arbeitswelt.pca$rotation*sqrt(abs(TS_Arbeitswelt.pca$sdev[1]^2))), digits = 3),"Gemeindeverband"=round((TS_Arbeitswelt_GVB.pca$rotation*sqrt(abs(TS_Arbeitswelt_GVB.pca$sdev[1]^2))), digits = 3),"Kreis"=round((TS_Arbeitswelt_Kreis.pca$rotation*sqrt(abs(TS_Arbeitswelt_Kreis.pca$sdev[1]^2))), digits = 3))
GISD_Komponents <- rbind(GISD_Komponents,cbind("Teildimension"="Einkommen","Gemeinde"=round((TS_Einkommen.pca$rotation*sqrt(abs(TS_Einkommen.pca$sdev[1]^2))), digits = 3), "Gemeindeverband"=round((TS_Einkommen_GVB.pca$rotation*sqrt(abs(TS_Einkommen_GVB.pca$sdev[1]^2))), digits = 3),"Kreis"=round((TS_Einkommen_Kreis.pca$rotation*sqrt(abs(TS_Einkommen_Kreis.pca$sdev[1]^2))), digits = 3)))
GISD_Komponents <- rbind(GISD_Komponents,cbind("Teildimension"="Bildung","Gemeinde"=round((TS_Bildung.pca$rotation*sqrt(abs(TS_Bildung.pca$sdev[1]^2))), digits = 3),"Gemeindeverband"=round((TS_Bildung_GVB.pca$rotation*sqrt(abs(TS_Bildung_GVB.pca$sdev[1]^2))), digits = 3),"Kreis"=round((TS_Bildung_Kreis.pca$rotation*sqrt(abs(TS_Bildung_Kreis.pca$sdev[1]^2))), digits = 3)))
GISD_Komponents <- cbind("Variables"=as.data.frame(rownames(GISD_Komponents)),as.data.frame(GISD_Komponents))
rownames(GISD_Komponents) <- NULL
colnames(GISD_Komponents) <- c("Variable","Dimension","Gemeinde","Gemeindeverband", "Kreis")
GISD_Komponents$Variable <- c("Beschäftigtenquote", "Arbeitslosigkeit", "Bruttoverdienst (log.)", "Einkommensteuer (log.)", "Haushaltseinkommen (log.)", "Schuldnerquote", "Beschäftigte mit akad. Abschluss (adj.)", "Beschäftigte ohne Abschluss (adj.)", "Schulabgänger ohne Abschluss (adj.)")
kable(GISD_Komponents, caption = "Faktorladungen auf Gemeinde-, Gemeindeverbands- und Kreisebene")
Table: (#tab:unnamed-chunk-5)Faktorladungen auf Gemeinde-, Gemeindeverbands- und Kreisebene
Variable | Dimension | Gemeinde | Gemeindeverband | Kreis |
---|---|---|---|---|
Beschäftigtenquote | Arbeitswelt | 0.64 | 0.636 | 0.726 |
Arbeitslosigkeit | Arbeitswelt | -0.841 | -0.872 | -0.858 |
Bruttoverdienst (log.) | Arbeitswelt | 0.81 | 0.787 | 0.679 |
Einkommensteuer (log.) | Einkommen | -0.914 | -0.897 | -0.886 |
Haushaltseinkommen (log.) | Einkommen | -0.921 | -0.918 | -0.933 |
Schuldnerquote | Einkommen | 0.608 | 0.628 | 0.604 |
Beschäftigte mit akad. Abschluss (adj.) | Bildung | 0.732 | 0.719 | 0.6 |
Beschäftigte ohne Abschluss (adj.) | Bildung | -0.771 | -0.775 | -0.711 |
Schulabgänger ohne Abschluss (adj.) | Bildung | -0.663 | -0.719 | -0.761 |
par(mfrow=c(1, 3))
plot(TS_Arbeitswelt.pca, main = "Arbeitswelt (Eigenwerte)", ylim=c(0,2.2))
plot(TS_Einkommen.pca, main = "Einkommen (Eigenwerte)", ylim=c(0,2.2))
plot(TS_Bildung_NUTS2.pca, main = "Bildung (Eigenwerte)", ylim=c(0,2.2))
Varianz_NUTS2_tab <- cbind("F_A" = "Faktor1", "Var_A" = round(TS_Arbeitswelt.pca$sdev^2, digits = 3), "Var_E" = round(TS_Einkommen.pca$sdev^2, digits = 3), "Var_B" = round(TS_Bildung_NUTS2.pca$sdev^2, digits = 3))
Varianz_NUTS2_tab[4,2] = NA
Varianz_NUTS2_tab[4,3] = NA
Varianz_NUTS2_tab[5,2] = NA
Varianz_NUTS2_tab[5,3] = NA
Varianz_NUTS2_tab <- cbind(as.data.frame(Varianz_NUTS2_tab))
Varianz_NUTS2_tab$F_A <- c("Faktor 1", "Faktor 2", "Faktor 3", "Faktor 4", "Faktor 5")
colnames(Varianz_NUTS2_tab) <- c("Faktoren", "Varianz Arbeitswelt", "Varianz Einkommen", "Varianz Bildung")
kable(Varianz_NUTS2_tab, caption = "Varianz der Faktoren (Eigenwerte)")
Table: (#tab:unnamed-chunk-7)Varianz der Faktoren (Eigenwerte)
Faktoren | Varianz Arbeitswelt | Varianz Einkommen | Varianz Bildung |
---|---|---|---|
Faktor 1 | 1.772 | 2.055 | 2.188 |
Faktor 2 | 0.774 | 0.769 | 1.202 |
Faktor 3 | 0.454 | 0.176 | 0.8 |
Faktor 4 | NA | NA | 0.544 |
Faktor 5 | NA | NA | 0.265 |
# Componentoverview
GISD_Komponents <- cbind("Teildimension"="Arbeitswelt","Faktorladung"=round((TS_Arbeitswelt.pca$rotation*sqrt(abs(TS_Arbeitswelt.pca$sdev[1]^2))), digits = 3),"Component"=round(TS_Arbeitswelt.pca$rotation, digits = 3))
GISD_Komponents <- rbind(GISD_Komponents,cbind("Teildimension"="Einkommen","Faktorladung"=round((TS_Einkommen.pca$rotation*sqrt(abs(TS_Einkommen.pca$sdev[1]^2))), digits = 3),"Component"=round(TS_Einkommen.pca$rotation, digits = 3)))
GISD_Komponents <- rbind(GISD_Komponents,cbind("Teildimension"="Bildung","Faktorladung"=round((TS_Bildung_NUTS2.pca$rotation*sqrt(abs(TS_Bildung_NUTS2.pca$sdev[1]^2))), digits = 3),"Component"=round(TS_Bildung_NUTS2.pca$rotation, digits = 3)))
GISD_Komponents <- cbind("Variables"=as.data.frame(rownames(GISD_Komponents)),as.data.frame(GISD_Komponents))
rownames(GISD_Komponents) <- NULL
colnames(GISD_Komponents) <- c("Variable","Dimension","Faktorladung","Component")
GISD_Komponents$prop_dem <- round(as.numeric(GISD_Komponents$Component)^2*100,digits=1)
GISD_Komponents$prop_GISD <- round(as.numeric(GISD_Komponents$prop_dem)/3, digits = 1)
colnames(GISD_Komponents) <- c("Variable","Dimension","Faktorladung","Component", "Anteil Teilscore", "Anteil GISD")
GISD_Komponents$Variable <- c("Beschäftigtenquote", "Arbeitslosigkeit", "Bruttoverdienst (log.)", "Einkommensteuer (log.)", "Haushaltseinkommen (log.)", "Schuldnerquote", "Beschäftigte mit akad. Abschluss", "Beschäftigte ohne Abschluss (adj.)", "Bevölkerung mit akad. Abschluss (adj.)", "Bevölkerung ohne Abschluss", "Schulabgänger ohne Abschluss (adj.)")
kable(GISD_Komponents, caption = "Faktorladungen und Anteile an den Teilscores sowie am Index")
Table: (#tab:unnamed-chunk-8)Faktorladungen und Anteile an den Teilscores sowie am Index
Variable | Dimension | Faktorladung | Component | Anteil Teilscore | Anteil GISD |
---|---|---|---|---|---|
Beschäftigtenquote | Arbeitswelt | 0.64 | 0.481 | 23.1 | 7.7 |
Arbeitslosigkeit | Arbeitswelt | -0.841 | -0.632 | 39.9 | 13.3 |
Bruttoverdienst (log.) | Arbeitswelt | 0.81 | 0.608 | 37.0 | 12.3 |
Einkommensteuer (log.) | Einkommen | -0.914 | -0.638 | 40.7 | 13.6 |
Haushaltseinkommen (log.) | Einkommen | -0.921 | -0.643 | 41.3 | 13.8 |
Schuldnerquote | Einkommen | 0.608 | 0.424 | 18.0 | 6.0 |
Beschäftigte mit akad. Abschluss | Bildung | 0.796 | 0.538 | 28.9 | 9.6 |
Beschäftigte ohne Abschluss (adj.) | Bildung | -0.564 | -0.381 | 14.5 | 4.8 |
Bevölkerung mit akad. Abschluss (adj.) | Bildung | 0.817 | 0.552 | 30.5 | 10.2 |
Bevölkerung ohne Abschluss | Bildung | -0.678 | -0.458 | 21.0 | 7.0 |
Schulabgänger ohne Abschluss (adj.) | Bildung | -0.334 | -0.226 | 5.1 | 1.7 |
Gepoolte Querschnitte mit 4 Bildungsitems und Beschäftigte ohne Abschluss nicht adjustiert.
par(mfrow=c(1, 3))
plot(TS_Arbeitswelt.pca, main = "Arbeitswelt (Eigenwerte)", ylim=c(0,2.2))
plot(TS_Einkommen.pca, main = "Einkommen (Eigenwerte)", ylim=c(0,2.2))
plot(TS_Bildung_4items_o.pca, main = "Bildung (Eigenwerte)", ylim=c(0,2.2))
Varianz_B4_tab <- cbind("F_A" = "Faktor1", "Var_A" = round(TS_Arbeitswelt.pca$sdev^2, digits = 3), "Var_E" = round(TS_Einkommen.pca$sdev^2, digits = 3), "Var_B" = round(TS_Bildung_4items_o.pca$sdev^2, digits = 3))
Varianz_B4_tab[4,2] = NA
Varianz_B4_tab[4,3] = NA
Varianz_B4_tab <- cbind(as.data.frame(Varianz_B4_tab))
Varianz_B4_tab$F_A <- c("Faktor 1", "Faktor 2", "Faktor 3", "Faktor 4")
colnames(Varianz_B4_tab) <- c("Faktoren", "Varianz Arbeitswelt", "Varianz Einkommen", "Varianz Bildung")
kable(Varianz_B4_tab, caption = "Varianz der Faktoren (Eigenwerte)")
Table: (#tab:unnamed-chunk-10)Varianz der Faktoren (Eigenwerte)
Faktoren | Varianz Arbeitswelt | Varianz Einkommen | Varianz Bildung |
---|---|---|---|
Faktor 1 | 1.772 | 2.055 | 1.972 |
Faktor 2 | 0.774 | 0.769 | 1.108 |
Faktor 3 | 0.454 | 0.176 | 0.498 |
Faktor 4 | NA | NA | 0.423 |
# Componentoverview
GISD_Komponents_4 <- cbind("Teildimension"="Arbeitswelt","Faktorladung"=round((TS_Arbeitswelt.pca$rotation*sqrt(abs(TS_Arbeitswelt.pca$sdev[1]^2))), digits = 3),"Component"=round(TS_Arbeitswelt.pca$rotation, digits = 3))
GISD_Komponents_4 <- rbind(GISD_Komponents_4,cbind("Teildimension"="Einkommen","Faktorladung"=round((TS_Einkommen.pca$rotation*sqrt(abs(TS_Einkommen.pca$sdev[1]^2))), digits = 3),"Component"=round(TS_Einkommen.pca$rotation, digits = 3)))
GISD_Komponents_4 <- rbind(GISD_Komponents_4,cbind("Teildimension"="Bildung","Faktorladung"=round((TS_Bildung_4items_o.pca$rotation[1:4,1]*sqrt(abs(TS_Bildung_4items_o.pca$sdev[1]^2))), digits = 3),"Component"=round(TS_Bildung_4items_o.pca$rotation[1:4,1], digits = 3)))
GISD_Komponents_4 <- cbind("Variables"=as.data.frame(rownames(GISD_Komponents_4)),as.data.frame(GISD_Komponents_4))
rownames(GISD_Komponents_4) <- NULL
colnames(GISD_Komponents_4) <- c("Variable","Dimension","Faktorladung","Component")
GISD_Komponents_4$prop_dem <- round(as.numeric(GISD_Komponents_4$Component)^2*100,digits=1)
GISD_Komponents_4$prop_GISD <- round(as.numeric(GISD_Komponents_4$prop_dem)/3, digits = 1)
colnames(GISD_Komponents_4) <- c("Variable","Dimension","Faktorladung","Component", "Anteil Teilscore", "Anteil GISD")
GISD_Komponents_4$Variable <- c("Beschäftigtenquote", "Arbeitslosigkeit", "Bruttoverdienst (log.)", "Einkommensteuer (log.)", "Haushaltseinkommen (log.)", "Schuldnerquote", "Beschäftigte mit akad. Abschluss (adj.)", "Beschäftigte ohne Abschluss", "Schulabgänger ohne Abschluss (adj.)", "Schulabgänger mit Hochschulreife (adj.)")
kable(GISD_Komponents_4, caption = "Faktorladungen und Anteile an den Teilscores sowie am Index")
Table: (#tab:unnamed-chunk-11)Faktorladungen und Anteile an den Teilscores sowie am Index
Variable | Dimension | Faktorladung | Component | Anteil Teilscore | Anteil GISD |
---|---|---|---|---|---|
Beschäftigtenquote | Arbeitswelt | 0.64 | 0.481 | 23.1 | 7.7 |
Arbeitslosigkeit | Arbeitswelt | -0.841 | -0.632 | 39.9 | 13.3 |
Bruttoverdienst (log.) | Arbeitswelt | 0.81 | 0.608 | 37.0 | 12.3 |
Einkommensteuer (log.) | Einkommen | -0.914 | -0.638 | 40.7 | 13.6 |
Haushaltseinkommen (log.) | Einkommen | -0.921 | -0.643 | 41.3 | 13.8 |
Schuldnerquote | Einkommen | 0.608 | 0.424 | 18.0 | 6.0 |
Beschäftigte mit akad. Abschluss (adj.) | Bildung | 0.84 | 0.599 | 35.9 | 12.0 |
Beschäftigte ohne Abschluss | Bildung | -0.694 | -0.495 | 24.5 | 8.2 |
Schulabgänger ohne Abschluss (adj.) | Bildung | -0.245 | -0.174 | 3.0 | 1.0 |
Schulabgänger mit Hochschulreife (adj.) | Bildung | 0.85 | 0.606 | 36.7 | 12.2 |
Gepoolte Querschnitte mit 4 Bildungsitems und Beschäftigte ohne Abschluss adjustiert.
par(mfrow=c(1, 3))
plot(TS_Arbeitswelt.pca, main = "Arbeitswelt (Eigenwerte)", ylim=c(0,2.2))
plot(TS_Einkommen.pca, main = "Einkommen (Eigenwerte)", ylim=c(0,2.2))
plot(TS_Bildung_4items.pca, main = "Bildung (Eigenwerte)", ylim=c(0,2.2))
Varianz_B4_tab <- cbind("F_A" = "Faktor1", "Var_A" = round(TS_Arbeitswelt.pca$sdev^2, digits = 3), "Var_E" = round(TS_Einkommen.pca$sdev^2, digits = 3), "Var_B" = round(TS_Bildung_4items.pca$sdev^2, digits = 3))
Varianz_B4_tab[4,2] = NA
Varianz_B4_tab[4,3] = NA
Varianz_B4_tab <- cbind(as.data.frame(Varianz_B4_tab))
Varianz_B4_tab$F_A <- c("Faktor 1", "Faktor 2", "Faktor 3", "Faktor 4")
colnames(Varianz_B4_tab) <- c("Faktoren", "Varianz Arbeitswelt", "Varianz Einkommen", "Varianz Bildung")
kable(Varianz_B4_tab, caption = "Varianz der Faktoren (Eigenwerte)")
Table: (#tab:unnamed-chunk-13)Varianz der Faktoren (Eigenwerte)
Faktoren | Varianz Arbeitswelt | Varianz Einkommen | Varianz Bildung |
---|---|---|---|
Faktor 1 | 1.772 | 2.055 | 1.918 |
Faktor 2 | 0.774 | 0.769 | 0.961 |
Faktor 3 | 0.454 | 0.176 | 0.721 |
Faktor 4 | NA | NA | 0.4 |
# Componentoverview
GISD_Komponents_4 <- cbind("Teildimension"="Arbeitswelt","Faktorladung"=round((TS_Arbeitswelt.pca$rotation*sqrt(abs(TS_Arbeitswelt.pca$sdev[1]^2))), digits = 3),"Component"=round(TS_Arbeitswelt.pca$rotation, digits = 3))
GISD_Komponents_4 <- rbind(GISD_Komponents_4,cbind("Teildimension"="Einkommen","Faktorladung"=round((TS_Einkommen.pca$rotation*sqrt(abs(TS_Einkommen.pca$sdev[1]^2))), digits = 3),"Component"=round(TS_Einkommen.pca$rotation, digits = 3)))
GISD_Komponents_4 <- rbind(GISD_Komponents_4,cbind("Teildimension"="Bildung","Faktorladung"=round((TS_Bildung_4items.pca$rotation[1:4,1]*sqrt(abs(TS_Bildung_4items.pca$sdev[1]^2))), digits = 3),"Component"=round(TS_Bildung_4items.pca$rotation[1:4,1], digits = 3)))
GISD_Komponents_4 <- cbind("Variables"=as.data.frame(rownames(GISD_Komponents_4)),as.data.frame(GISD_Komponents_4))
rownames(GISD_Komponents_4) <- NULL
colnames(GISD_Komponents_4) <- c("Variable","Dimension","Faktorladung","Component")
GISD_Komponents_4$prop_dem <- round(as.numeric(GISD_Komponents_4$Component)^2*100,digits=1)
GISD_Komponents_4$prop_GISD <- round(as.numeric(GISD_Komponents_4$prop_dem)/3, digits = 1)
colnames(GISD_Komponents_4) <- c("Variable","Dimension","Faktorladung","Component", "Anteil Teilscore", "Anteil GISD")
GISD_Komponents_4$Variable <- c("Beschäftigtenquote", "Arbeitslosigkeit", "Bruttoverdienst (log.)", "Einkommensteuer (log.)", "Haushaltseinkommen (log.)", "Schuldnerquote", "Beschäftigte mit akad. Abschluss (adj.)", "Beschäftigte ohne Abschluss (adj.)", "Schulabgänger ohne Abschluss (adj.)", "Schulabgänger mit Hochschulreife (adj.)")
kable(GISD_Komponents_4, caption = "Faktorladungen und Anteile an den Teilscores sowie am Index")
Table: (#tab:unnamed-chunk-14)Faktorladungen und Anteile an den Teilscores sowie am Index
Variable | Dimension | Faktorladung | Component | Anteil Teilscore | Anteil GISD |
---|---|---|---|---|---|
Beschäftigtenquote | Arbeitswelt | 0.64 | 0.481 | 23.1 | 7.7 |
Arbeitslosigkeit | Arbeitswelt | -0.841 | -0.632 | 39.9 | 13.3 |
Bruttoverdienst (log.) | Arbeitswelt | 0.81 | 0.608 | 37.0 | 12.3 |
Einkommensteuer (log.) | Einkommen | -0.914 | -0.638 | 40.7 | 13.6 |
Haushaltseinkommen (log.) | Einkommen | -0.921 | -0.643 | 41.3 | 13.8 |
Schuldnerquote | Einkommen | 0.608 | 0.424 | 18.0 | 6.0 |
Beschäftigte mit akad. Abschluss (adj.) | Bildung | 0.832 | 0.601 | 36.1 | 12.0 |
Beschäftigte ohne Abschluss (adj.) | Bildung | -0.63 | -0.455 | 20.7 | 6.9 |
Schulabgänger ohne Abschluss (adj.) | Bildung | -0.526 | -0.38 | 14.4 | 4.8 |
Schulabgänger mit Hochschulreife (adj.) | Bildung | 0.743 | 0.536 | 28.7 | 9.6 |
Es werden Hauptkomponentenanalysen für jede der drei Subskalen auf Basis der imputierten Daten geschätzt, hier nur mit den Daten von 2019.
# Variablenliste für die Faktorenanalyse mit Einschränkung 2017
TS_Arbeitswelt_19 <- Impdata.imputed %>% filter(Jahr == 2019) %>% ungroup() %>% select(Beschaeftigtenquote,Arbeitslosigkeit,Bruttoverdienst_ln)
TS_Einkommen_19 <- Impdata.imputed %>% filter(Jahr == 2019) %>% select(Einkommensteuer_ln,Haushaltseinkommen_ln,Schuldnerquote)
TS_Bildung_19 <- Impdata.imputed %>% filter(Jahr == 2019) %>% select(BeschaeftigtemitakadAbschluss_adj,BeschaeftigteohneAbschluss_adj,SchulabgaengerohneAbschluss_adj)
TS_Bildung_4items_19 <- Impdata.imputed %>% filter(Jahr == 2019) %>% select(BeschaeftigtemitakadAbschluss_adj,BeschaeftigteohneAbschluss_adj,SchulabgaengerohneAbschluss_adj, SchulabgaengermitHochschulreife_adj)
#PCA Arbeitswelt 2019
TS_Arbeitswelt_19.pca <- prcomp(TS_Arbeitswelt_19, center = TRUE, scale. = TRUE, retx=TRUE, rank. = 1)
#PCA Einkommen 2019
TS_Einkommen_19.pca <- prcomp(TS_Einkommen_19, center = TRUE, scale. = TRUE, retx=TRUE, rank. = 1)
#PCA Bildung 2019
TS_Bildung_19.pca <- prcomp(TS_Bildung_19, center = TRUE, scale. = TRUE, retx=TRUE, rank. =1 )
#PCA Bildung 4 Items 2019
TS_Bildung_4items_19.pca <- prcomp(TS_Bildung_4items_19, center = TRUE, scale. = TRUE, retx=TRUE, rank. =1 )
par(mfrow=c(1, 3))
plot(TS_Arbeitswelt_19.pca, main = "Arbeitswelt (Eigenwerte)", ylim=c(0,2))
plot(TS_Einkommen_19.pca, main = "Einkommen (Eigenwerte)", ylim=c(0,2))
plot(TS_Bildung_19.pca, main = "Bildung (Eigenwerte)", ylim=c(0,2))
Varianz19_tab <- cbind("F_A" = "Faktor1", "Var_A" = round(TS_Arbeitswelt_19.pca$sdev^2, digits = 3), "Var_E" = round(TS_Einkommen_19.pca$sdev^2, digits = 3), "Var_B" = round(TS_Bildung_19.pca$sdev^2, digits = 3))
Varianz19_tab <- cbind(as.data.frame(Varianz19_tab))
Varianz19_tab$F_A <- c("Faktor 1", "Faktor 2", "Faktor 3")
colnames(Varianz19_tab) <- c("Faktoren", "Varianz Arbeitswelt", "Varianz Einkommen", "Varianz Bildung")
kable(Varianz19_tab, caption = "Varianz der Faktoren (Eigenwerte) für 2017")
Table: (#tab:unnamed-chunk-16)Varianz der Faktoren (Eigenwerte) für 2017
Faktoren | Varianz Arbeitswelt | Varianz Einkommen | Varianz Bildung |
---|---|---|---|
Faktor 1 | 1.382 | 2.165 | 1.458 |
Faktor 2 | 0.94 | 0.619 | 0.857 |
Faktor 3 | 0.678 | 0.217 | 0.685 |
# Componentoverview 2017
GISD_Komponents_19 <- cbind("Teildimension"="Arbeitswelt","Faktorladung"=round((TS_Arbeitswelt_19.pca$rotation*sqrt(abs(TS_Arbeitswelt_19.pca$sdev[1]^2))), digits = 3),"Component"=round(TS_Arbeitswelt_19.pca$rotation, digits = 3))
GISD_Komponents_19 <- rbind(GISD_Komponents_19,cbind("Teildimension"="Einkommen","Faktorladung"=round((TS_Einkommen_19.pca$rotation*sqrt(abs(TS_Einkommen_19.pca$sdev[1]^2))), digits = 3),"Component"=round(TS_Einkommen_19.pca$rotation, digits = 3)))
GISD_Komponents_19 <- rbind(GISD_Komponents_19,cbind("Teildimension"="Bildung","Faktorladung"=round((TS_Bildung_19.pca$rotation*sqrt(abs(TS_Bildung_19.pca$sdev[1]^2))), digits = 3),"Component"=round(TS_Bildung_19.pca$rotation, digits = 3)))
GISD_Komponents_19 <- cbind("Variables"=as.data.frame(rownames(GISD_Komponents_19)),as.data.frame(GISD_Komponents_19))
rownames(GISD_Komponents_19) <- NULL
colnames(GISD_Komponents_19) <- c("Variable","Dimension","Faktorladung","Component")
GISD_Komponents_19$prop_dem <- round(as.numeric(GISD_Komponents_19$Component)^2*100,digits=1)
GISD_Komponents_19$prop_GISD <- round(as.numeric(GISD_Komponents_19$prop_dem)/3, digits = 1)
colnames(GISD_Komponents_19) <- c("Variable","Dimension","Faktorladung","Coponent", "Anteil Dimension", "Anteil GISD")
GISD_Komponents_19$Variable <- c("Beschäftigtenquote", "Arbeitslosigkeit", "Bruttoverdienst (log.)", "Einkommensteuer (log.)", "Haushaltseinkommen (log.)", "Schuldnerquote", "Beschäftigte mit akad. Abschluss (adj.)", "Beschäftigte ohne Abschluss (adj.)", "Schulabgänger ohne Abschluss (adj.)")
kable(GISD_Komponents_19, caption = "Komponenten und Anteile der Dimensionen für 2019")
Table: (#tab:unnamed-chunk-17)Komponenten und Anteile der Dimensionen für 2019
Variable | Dimension | Faktorladung | Coponent | Anteil Dimension | Anteil GISD |
---|---|---|---|---|---|
Beschäftigtenquote | Arbeitswelt | 0.449 | 0.382 | 14.6 | 4.9 |
Arbeitslosigkeit | Arbeitswelt | -0.75 | -0.638 | 40.7 | 13.6 |
Bruttoverdienst (log.) | Arbeitswelt | 0.786 | 0.668 | 44.6 | 14.9 |
Einkommensteuer (log.) | Einkommen | 0.898 | 0.61 | 37.2 | 12.4 |
Haushaltseinkommen (log.) | Einkommen | 0.908 | 0.617 | 38.1 | 12.7 |
Schuldnerquote | Einkommen | -0.731 | -0.497 | 24.7 | 8.2 |
Beschäftigte mit akad. Abschluss (adj.) | Bildung | -0.709 | -0.587 | 34.5 | 11.5 |
Beschäftigte ohne Abschluss (adj.) | Bildung | 0.609 | 0.505 | 25.5 | 8.5 |
Schulabgänger ohne Abschluss (adj.) | Bildung | 0.765 | 0.633 | 40.1 | 13.4 |
# Korrelationen
Data2019 <- Impdata.imputed %>% filter(Jahr == 2019)
Data2019$TS_Arbeitswelt_19 <- as.numeric(predict(TS_Arbeitswelt_19.pca, newdata = Data2019))
Data2019$TS_Einkommen_19 <- as.numeric(predict(TS_Einkommen_19.pca , newdata = Data2019))
Data2019$TS_Bildung_19 <- as.numeric(predict(TS_Bildung_19.pca, newdata = Data2019))
cor_tab_pol <- Data2019 %>% select(TS_Arbeitswelt_19,TS_Einkommen_19,TS_Bildung_19) %>% cor(use="pairwise.complete.obs")
cor_tab_pol <- cbind(as.data.frame(cor_tab_pol))
colnames(cor_tab_pol) <- c("Faktor Arbeitswelt", "Faktor Einkommen", "Faktor Bildung")
rownames(cor_tab_pol) <- c("Faktor Arbeitswelt", "Faktor Einkommen", "Faktor Bildung")
kable(cor_tab_pol, caption = "Korrelation der Faktoren")
Table: (#tab:unnamed-chunk-18)Korrelation der Faktoren
Faktor Arbeitswelt | Faktor Einkommen | Faktor Bildung | |
---|---|---|---|
Faktor Arbeitswelt | 1.0000000 | 0.7580042 | -0.5604231 |
Faktor Einkommen | 0.7580042 | 1.0000000 | -0.7137393 |
Faktor Bildung | -0.5604231 | -0.7137393 | 1.0000000 |
Gepoolte Querschnitte mit 4 Bildungsitems und Beschäftigte ohne Abschluss adjustiert nur für 2019.
par(mfrow=c(1, 3))
plot(TS_Arbeitswelt_19.pca, main = "Arbeitswelt (Eigenwerte)", ylim=c(0,2.2))
plot(TS_Einkommen_19.pca, main = "Einkommen (Eigenwerte)", ylim=c(0,2.2))
plot(TS_Bildung_4items_19.pca, main = "Bildung (Eigenwerte)", ylim=c(0,2.2))
Varianz_B4_tab <- cbind("F_A" = "Faktor1", "Var_A" = round(TS_Arbeitswelt_19.pca$sdev^2, digits = 3), "Var_E" = round(TS_Einkommen_19.pca$sdev^2, digits = 3), "Var_B" = round(TS_Bildung_4items_19.pca$sdev^2, digits = 3))
Varianz_B4_tab[4,2] = NA
Varianz_B4_tab[4,3] = NA
Varianz_B4_tab <- cbind(as.data.frame(Varianz_B4_tab))
Varianz_B4_tab$F_A <- c("Faktor 1", "Faktor 2", "Faktor 3", "Faktor 4")
colnames(Varianz_B4_tab) <- c("Faktoren", "Varianz Arbeitswelt", "Varianz Einkommen", "Varianz Bildung")
kable(Varianz_B4_tab, caption = "Varianz der Faktoren (Eigenwerte)")
Table: (#tab:unnamed-chunk-20)Varianz der Faktoren (Eigenwerte)
Faktoren | Varianz Arbeitswelt | Varianz Einkommen | Varianz Bildung |
---|---|---|---|
Faktor 1 | 1.382 | 2.165 | 1.474 |
Faktor 2 | 0.94 | 0.619 | 1.304 |
Faktor 3 | 0.678 | 0.217 | 0.758 |
Faktor 4 | NA | NA | 0.464 |
# Componentoverview
GISD_Komponents_4 <- cbind("Teildimension"="Arbeitswelt","Faktorladung"=round((TS_Arbeitswelt_19.pca$rotation*sqrt(abs(TS_Arbeitswelt_19.pca$sdev[1]^2))), digits = 3),"Component"=round(TS_Arbeitswelt_19.pca$rotation, digits = 3))
GISD_Komponents_4 <- rbind(GISD_Komponents_4,cbind("Teildimension"="Einkommen","Faktorladung"=round((TS_Einkommen_19.pca$rotation*sqrt(abs(TS_Einkommen_19.pca$sdev[1]^2))), digits = 3),"Component"=round(TS_Einkommen_19.pca$rotation, digits = 3)))
GISD_Komponents_4 <- rbind(GISD_Komponents_4,cbind("Teildimension"="Bildung","Faktorladung"=round((TS_Bildung_4items_19.pca$rotation[1:4,1]*sqrt(abs(TS_Bildung_4items_19.pca$sdev[1]^2))), digits = 3),"Component"=round(TS_Bildung_4items_19.pca$rotation[1:4,1], digits = 3)))
GISD_Komponents_4 <- cbind("Variables"=as.data.frame(rownames(GISD_Komponents_4)),as.data.frame(GISD_Komponents_4))
rownames(GISD_Komponents_4) <- NULL
colnames(GISD_Komponents_4) <- c("Variable","Dimension","Faktorladung","Component")
GISD_Komponents_4$prop_dem <- round(as.numeric(GISD_Komponents_4$Component)^2*100,digits=1)
GISD_Komponents_4$prop_GISD <- round(as.numeric(GISD_Komponents_4$prop_dem)/3, digits = 1)
colnames(GISD_Komponents_4) <- c("Variable","Dimension","Faktorladung","Component", "Anteil Teilscore", "Anteil GISD")
GISD_Komponents_4$Variable <- c("Beschäftigtenquote", "Arbeitslosigkeit", "Bruttoverdienst (log.)", "Einkommensteuer (log.)", "Haushaltseinkommen (log.)", "Schuldnerquote", "Beschäftigte mit akad. Abschluss (adj.)", "Beschäftigte ohne Abschluss (adj.)", "Schulabgänger ohne Abschluss (adj.)", "Schulabgänger mit Hochschulreife (adj.)")
kable(GISD_Komponents_4, caption = "Faktorladungen und Anteile an den Teilscores sowie am Index für 2019")
Table: (#tab:unnamed-chunk-21)Faktorladungen und Anteile an den Teilscores sowie am Index für 2019
Variable | Dimension | Faktorladung | Component | Anteil Teilscore | Anteil GISD |
---|---|---|---|---|---|
Beschäftigtenquote | Arbeitswelt | 0.449 | 0.382 | 14.6 | 4.9 |
Arbeitslosigkeit | Arbeitswelt | -0.75 | -0.638 | 40.7 | 13.6 |
Bruttoverdienst (log.) | Arbeitswelt | 0.786 | 0.668 | 44.6 | 14.9 |
Einkommensteuer (log.) | Einkommen | 0.898 | 0.61 | 37.2 | 12.4 |
Haushaltseinkommen (log.) | Einkommen | 0.908 | 0.617 | 38.1 | 12.7 |
Schuldnerquote | Einkommen | -0.731 | -0.497 | 24.7 | 8.2 |
Beschäftigte mit akad. Abschluss (adj.) | Bildung | -0.823 | -0.678 | 46.0 | 15.3 |
Beschäftigte ohne Abschluss (adj.) | Bildung | 0.477 | 0.393 | 15.4 | 5.1 |
Schulabgänger ohne Abschluss (adj.) | Bildung | 0.691 | 0.569 | 32.4 | 10.8 |
Schulabgänger mit Hochschulreife (adj.) | Bildung | -0.304 | -0.251 | 6.3 | 2.1 |
Resultdataset <- Impdata.imputed
Resultdataset$TS_Arbeitswelt_19 <- as.numeric(predict(TS_Arbeitswelt_19.pca, newdata = Resultdataset))
Resultdataset$TS_Einkommen_19 <- as.numeric(predict(TS_Einkommen_19.pca , newdata = Resultdataset))
Resultdataset$TS_Bildung_19 <- as.numeric(predict(TS_Bildung_19.pca, newdata = Resultdataset))
Resultdataset$TS_Arbeitswelt <- as.numeric(predict(TS_Arbeitswelt.pca, newdata = Resultdataset))
Resultdataset$TS_Einkommen <- as.numeric(predict(TS_Einkommen.pca , newdata = Resultdataset))
Resultdataset$TS_Bildung <- as.numeric(predict(TS_Bildung.pca , newdata = Resultdataset))
Resultdataset$TS_Bildung_4items <- as.numeric(predict(TS_Bildung_4items.pca, newdata = Resultdataset))
d_TS_Arbeitswelt <- density(Resultdataset$TS_Arbeitswelt)
d_TS_Einkommen <- density(Resultdataset$TS_Einkommen)
d_TS_Bildung <- density(Resultdataset$TS_Bildung)
par(mfrow=c(2, 2))
plot(d_TS_Arbeitswelt, main = "Density Arbeitswelt")
plot(d_TS_Einkommen, main = "Density Einkommen")
plot(d_TS_Bildung, main = "Density Bildung")
# Korrelationen überprüfen
cor_tab <- Resultdataset %>% select(Arbeitslosigkeit,TS_Arbeitswelt,TS_Einkommen,TS_Bildung) %>% cor( use="pairwise.complete.obs")
cor_tab <- cbind(as.data.frame(cor_tab))
colnames(cor_tab) <- c("Arbeitslosigkeit", "Faktor Arbeitswelt", "Faktor Einkommen", "Faktor Bildung")
rownames(cor_tab) <- c("Arbeitslosigkeit", "Faktor Arbeitswelt", "Faktor Einkommen", "Faktor Bildung")
kable(cor_tab, caption = "Korrelation von Arbeitslosigkeit und Faktoren")
Table: (#tab:unnamed-chunk-24)Korrelation von Arbeitslosigkeit und Faktoren
Arbeitslosigkeit | Faktor Arbeitswelt | Faktor Einkommen | Faktor Bildung | |
---|---|---|---|---|
Arbeitslosigkeit | 1.0000000 | -0.8442108 | 0.8345237 | -0.4218227 |
Faktor Arbeitswelt | -0.8442108 | 1.0000000 | -0.8606418 | 0.5194746 |
Faktor Einkommen | 0.8345237 | -0.8606418 | 1.0000000 | -0.5701965 |
Faktor Bildung | -0.4218227 | 0.5194746 | -0.5701965 | 1.0000000 |
if (cor(Resultdataset$Arbeitslosigkeit, Resultdataset$TS_Bildung,use="pairwise.complete.obs")<0) {
Resultdataset$TS_Bildung <- Resultdataset$TS_Bildung*-1
}
if (cor(Resultdataset$Arbeitslosigkeit, Resultdataset$TS_Arbeitswelt,use="pairwise.complete.obs")<0) {
Resultdataset$TS_Arbeitswelt <- Resultdataset$TS_Arbeitswelt*-1
}
if (cor(Resultdataset$Arbeitslosigkeit, Resultdataset$TS_Einkommen,use="pairwise.complete.obs")<0) {
Resultdataset$TS_Einkommen <- Resultdataset$TS_Einkommen*-1
}
# Korrelationen erneut überprüfen
cor_tab_pol <- Resultdataset %>% select(Arbeitslosigkeit,TS_Arbeitswelt,TS_Einkommen,TS_Bildung) %>% cor( use="pairwise.complete.obs")
cor_tab_pol <- cbind(as.data.frame(cor_tab_pol))
colnames(cor_tab_pol) <- c("Arbeitslosigkeit", "Faktor Arbeitswelt", "Faktor Einkommen", "Faktor Bildung")
rownames(cor_tab_pol) <- c("Arbeitslosigkeit", "Faktor Arbeitswelt", "Faktor Einkommen", "Faktor Bildung")
kable(cor_tab_pol, caption = "Korrelation von Arbeitslosigkeit und Faktoren (gepoolt)")
Table: (#tab:unnamed-chunk-25)Korrelation von Arbeitslosigkeit und Faktoren (gepoolt)
Arbeitslosigkeit | Faktor Arbeitswelt | Faktor Einkommen | Faktor Bildung | |
---|---|---|---|---|
Arbeitslosigkeit | 1.0000000 | 0.8442108 | 0.8345237 | 0.4218227 |
Faktor Arbeitswelt | 0.8442108 | 1.0000000 | 0.8606418 | 0.5194746 |
Faktor Einkommen | 0.8345237 | 0.8606418 | 1.0000000 | 0.5701965 |
Faktor Bildung | 0.4218227 | 0.5194746 | 0.5701965 | 1.0000000 |
# Normalization
Resultdataset$TS_Arbeitswelt <- (Resultdataset$TS_Arbeitswelt -min(Resultdataset$TS_Arbeitswelt ))/(max(Resultdataset$TS_Arbeitswelt )-min(Resultdataset$TS_Arbeitswelt ))
Resultdataset$TS_Einkommen <- (Resultdataset$TS_Einkommen -min(Resultdataset$TS_Einkommen ))/(max(Resultdataset$TS_Einkommen )-min(Resultdataset$TS_Einkommen ))
Resultdataset$TS_Bildung <- (Resultdataset$TS_Bildung -min(Resultdataset$TS_Bildung ))/(max(Resultdataset$TS_Bildung )-min(Resultdataset$TS_Bildung ))
# GISD
Resultdataset$GISD_Score <- Resultdataset$TS_Arbeitswelt+Resultdataset$TS_Einkommen+Resultdataset$TS_Bildung
Resultdataset <- Resultdataset %>% group_by(Jahr)
for (i in 1998:2019) {
Resultdataset <- Resultdataset %>% mutate(GISD_Score = ifelse(Jahr == i, (GISD_Score -min(GISD_Score))/(max(GISD_Score )-min(GISD_Score)), GISD_Score))
}
Resultdataset <- Resultdataset %>% ungroup()
Die Normalization wird innerhalb der Jahre des GISD gepoolt. Das heißt in jedem Jahr gibt es den Minimalwert 0 und den Maximalwert 1.
d_TS_Arbeitswelt_norm <- density(Resultdataset$TS_Arbeitswelt)
d_TS_Einkommen_norm <- density(Resultdataset$TS_Einkommen)
d_TS_Bildung_norm <- density(Resultdataset$TS_Bildung)
d_GISD_Score_norm <- density(Resultdataset$GISD_Score)
par(mfrow=c(2, 2))
plot(d_TS_Arbeitswelt_norm, main = "Density Arbeitswelt")
plot(d_TS_Einkommen_norm, main = "Density Einkommen")
plot(d_TS_Bildung_norm, main = "Density Bildung")
plot(d_GISD_Score_norm, main = "Density GISD Score")
if (cor(Resultdataset$TS_Bildung_19, Resultdataset$TS_Bildung_19,use="pairwise.complete.obs")<0) {
Resultdataset$TS_Bildung_19 <- Resultdataset$TS_Bildung_19*-1
}
if (cor(Resultdataset$TS_Arbeitswelt_19, Resultdataset$TS_Arbeitswelt_19,use="pairwise.complete.obs")<0) {
Resultdataset$TS_Arbeitswelt_19 <- Resultdataset$TS_Arbeitswelt_19*-1
}
if (cor(Resultdataset$TS_Einkommen_19, Resultdataset$TS_Einkommen_19,use="pairwise.complete.obs")<0) {
Resultdataset$TS_Einkommen_19 <- Resultdataset$TS_Einkommen_19*-1
}
#Normalization
Resultdataset$TS_Arbeitswelt_19 <- (Resultdataset$TS_Arbeitswelt_19 -min(Resultdataset$TS_Arbeitswelt_19 ))/(max(Resultdataset$TS_Arbeitswelt_19 )-min(Resultdataset$TS_Arbeitswelt_19 ))
Resultdataset$TS_Einkommen_19 <- (Resultdataset$TS_Einkommen_19 -min(Resultdataset$TS_Einkommen_19 ))/(max(Resultdataset$TS_Einkommen_19 )-min(Resultdataset$TS_Einkommen_19 ))
Resultdataset$TS_Bildung_19 <- (Resultdataset$TS_Bildung_19 -min(Resultdataset$TS_Bildung_19 ))/(max(Resultdataset$TS_Bildung_19 )-min(Resultdataset$TS_Bildung_19 ))
# GISD
Resultdataset$GISD_Score_19 <- Resultdataset$TS_Arbeitswelt_19+Resultdataset$TS_Einkommen_19+Resultdataset$TS_Bildung_19
Resultdataset <- Resultdataset %>% group_by(Jahr)
for (i in 1998:2019) {
Resultdataset <- Resultdataset %>% mutate(GISD_Score_19 = ifelse(Jahr == i, (GISD_Score_19 -min(GISD_Score_19))/(max(GISD_Score_19 )-min(GISD_Score_19)), GISD_Score_19))
}
Resultdataset <- Resultdataset %>% ungroup()
if (cor(Resultdataset$TS_Bildung_4items, Resultdataset$TS_Bildung_4items,use="pairwise.complete.obs")<0) {
Resultdataset$TS_Bildung_4items <- Resultdataset$TS_Bildung_4items*-1
}
if (cor(Resultdataset$TS_Arbeitswelt, Resultdataset$TS_Arbeitswelt,use="pairwise.complete.obs")<0) {
Resultdataset$TS_Arbeitswelt <- Resultdataset$TS_Arbeitswelt*-1
}
if (cor(Resultdataset$TS_Einkommen, Resultdataset$TS_Einkommen,use="pairwise.complete.obs")<0) {
Resultdataset$TS_Einkommen <- Resultdataset$TS_Einkommen*-1
}
#Normalization
Resultdataset$TS_Arbeitswelt <- (Resultdataset$TS_Arbeitswelt -min(Resultdataset$TS_Arbeitswelt ))/(max(Resultdataset$TS_Arbeitswelt )-min(Resultdataset$TS_Arbeitswelt ))
Resultdataset$TS_Einkommen <- (Resultdataset$TS_Einkommen -min(Resultdataset$TS_Einkommen ))/(max(Resultdataset$TS_Einkommen )-min(Resultdataset$TS_Einkommen ))
Resultdataset$TS_Bildung_4items <- (Resultdataset$TS_Bildung_4items -min(Resultdataset$TS_Bildung_4items ))/(max(Resultdataset$TS_Bildung_4items )-min(Resultdataset$TS_Bildung_4items ))
# GISD
Resultdataset$GISD_Score_B4 <- Resultdataset$TS_Arbeitswelt+Resultdataset$TS_Einkommen+Resultdataset$TS_Bildung_4items
Resultdataset <- Resultdataset %>% group_by(Jahr)
for (i in 1998:2019) {
Resultdataset <- Resultdataset %>% mutate(GISD_Score_B4 = ifelse(Jahr == i, (GISD_Score_B4 -min(GISD_Score_B4))/(max(GISD_Score_B4 )-min(GISD_Score_B4)), GISD_Score_B4))
}
Resultdataset <- Resultdataset %>% ungroup()
cor_tab_GISDscore <- Resultdataset %>% select(GISD_Score, GISD_Score_B4, GISD_Score_19) %>% cor( use="pairwise.complete.obs")
cor_tab_GISDscore <- cbind(as.data.frame(cor_tab_GISDscore))
colnames(cor_tab_GISDscore) <- c("GISD-Score", "GISD-Score (Bildung 4 Items)", "GISD-Score 2019")
kable(cor_tab_GISDscore, caption = "Korrelation der verschiedenen GISD-Scores")
Table: (#tab:unnamed-chunk-27)Korrelation der verschiedenen GISD-Scores
GISD-Score | GISD-Score (Bildung 4 Items) | GISD-Score 2019 | |
---|---|---|---|
GISD_Score | 1.0000000 | 0.7794420 | -0.7283062 |
GISD_Score_B4 | 0.7794420 | 1.0000000 | -0.9634939 |
GISD_Score_19 | -0.7283062 | -0.9634939 | 1.0000000 |
#write_rds(Resultdataset, paste0("Outfiles/Resultdata_FaktorCheck.rds"))