Skip to content

Latest commit

 

History

History
989 lines (616 loc) · 50.7 KB

Faktorenanalyse_Check_revision2022_v03.md

File metadata and controls

989 lines (616 loc) · 50.7 KB
title author date output
Faktorenanalyse-Check 2019
Marvin Reis
20 01 2022
bookdown::html_document2
keep_md code_folding toc toc_float toc_depth number_sections theme highlight
true
hide
true
true
2
false
cerulean
tango

Info

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)

Verschiedene Faktorenanalysen des GISD {.tabset}

Gepoolte Querschnitt

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)

Eigenwerte der Komponenten

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

Faktorladungen auf Gemeindeebene

# 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

Faktorladungen auf Gemeindeebene (Unidimensional)

# 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

Faktorladungen nach Ebene

# 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

Gepoolte Querschnitte (NUTS2)

Eigenwerte der Komponenten

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

Faktorladungen

# 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

4 Items Bildung (BoA nicht adjustiert)

Gepoolte Querschnitte mit 4 Bildungsitems und Beschäftigte ohne Abschluss nicht adjustiert.

Eigenwerte der Komponenten

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

Faktorladungen

# 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

4 Items Bildung (BoA adjustiert)

Gepoolte Querschnitte mit 4 Bildungsitems und Beschäftigte ohne Abschluss adjustiert.

Eigenwerte der Komponenten

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

Faktorladungen

# 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

Faktorenanalyse nur für Daten des Jahres 2019

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 )

Eigenwerte der Komponenten

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

Faktorladungen

# 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

4 Items Bildung nur 2019 (Boa adjustiert)

Gepoolte Querschnitte mit 4 Bildungsitems und Beschäftigte ohne Abschluss adjustiert nur für 2019.

Eigenwerte der Komponenten

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

Faktorladungen

# 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

Generierung des Faktorscores aus Basis aller Jahre

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))

Verteilung der Scores nach Faktorprediction

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()

Verteilung der Scores nach Normalization

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"))