# Packete updaten
list.of.packages <- c("tidyverse", "dplyr", "data.table", "car", "ggplot2", "ggalt",
"survey", "srvyr", "haven", "reshape2")
install.packages(list.of.packages, repos = "https://stat.ethz.ch/CRAN/")
# Packete laden
lapply(list.of.packages, require, character.only = TRUE)
# Datensatz laden
corona.dt <- as.data.frame(fread("raw_data/CoronaMonitorAll.csv",
sep = ",",
encoding = "UTF-8",
stringsAsFactors = FALSE))
# Variablen für Vergleich umformen und Observationen filtern
unique(corona.dt$erwerbNow)
unique(corona.dt$homeoffice)
corona.dt <- corona.dt %>%
mutate(Erwerbssituation = case_when(erwerbNow == "Vollzeit angestellt" ~ "Vollzeit",
erwerbNow == "Vollzeit angestellt (80-100%)" ~ "Vollzeit",
erwerbNow == "Teilzeit angestellt (weniger als 80%)" ~ "Teilzeit",
erwerbNow == "Teilzeit angestellt" ~ "Teilzeit",
erwerbNow == "Kurzarbeit / kurzfristig stellenlos" ~ "Kurzarbeit",
erwerbNow == "Kurzarbeit" ~ "Kurzarbeit",
erwerbNow == "Hausfrau / Hausmann" ~ "Haushalt",
erwerbNow == "Selbständig erwerbend" ~ "Selbständig")) %>% #erwerbNow in Vollzeit, Teilzeit, Kurzarbeit und Haushalt, else NA
filter(Welle %in% (1:2),
haushalt == "Familienhaushalt", u16hh == "Ja", sex %in% c("Mann", "Frau")) %>% # nach Eltern und Wellen filtern
mutate(Homeoffice = case_when(homeoffice == "Ich habe zuvor schon regelmässig im Home Office gearbeitet." ~ "ja",
homeoffice == "Ja, ich arbeite nur noch im Home Office" ~ "ja",
homeoffice == "Ja, ich arbeite zurzeit nur im Home Office" ~ "ja",
homeoffice == "Ja, ich arbeite jetzt zum Teil im Home Office " ~ "teilweise",
homeoffice == "Ja, ich arbeite zurzeit teilweise im Home Office " ~ "teilweise",
homeoffice == "Nein, das ist in meinem Beruf nicht möglich." ~ "nein",
homeoffice == "Nein, die Vorgesetzten erlauben es nicht" ~ "nein",
homeoffice == "Nein, das ist nicht möglich" ~ "nein",
homeoffice == "Nein, das möchte ich nicht" ~ "nein")) %>% # homeoffice umbenennen, da die Ausprägungen in den beiden Befragungswellen anders heissen.
mutate(moodAtHome_SQ003 = case_when(moodAtHome_SQ003 == "Ãœberforderung mit Kinderbetreuung: Not selected" ~ "Ãœberforderung mit Kinderbetreuung: Not selected",
moodAtHome_SQ003 == "Belastung durch Kinderbetreuung und Homeschooling: Not selected" ~ "Ãœberforderung mit Kinderbetreuung: Not selected",
moodAtHome_SQ003 == "Ãœberforderung mit Kinderbetreuung: Selected" ~ "Ãœberforderung mit Kinderbetreuung: Selected",
moodAtHome_SQ003 == "Belastung durch Kinderbetreuung und Homeschooling: Selected" ~ "Ãœberforderung mit Kinderbetreuung: Selected"))
# Veränderung im Wohlbefinden berechnen
corona_zustand <- select(corona.dt, sex, weight, Welle, wiegehtsHeute, wiegehtsVorher)
corona_zustand <- corona_zustand %>%
mutate(wiegehtsHeute_num = as.numeric(stringr::str_extract
(wiegehtsHeute, "[0-5]+")))
corona_zustand <- corona_zustand %>%
mutate(wiegehtsVorher_num = as.numeric(stringr::str_extract
(wiegehtsVorher, "[0-5]+")))
corona_zustand <- corona_zustand %>%
mutate(zustandsveränderung_num = wiegehtsHeute_num - wiegehtsVorher_num) #Differenz berechnen
# Welle 1 gewichten
zustand.dt <- corona_zustand %>%
filter(Welle == 1) %>%
group_by(zustandsveränderung_num, sex) %>%
summarise(Nweighted=sum(weight), .groups = 'drop') %>%
na.omit()
# Extrempunkte zusammennehmen
zustand.dt <- zustand.dt %>%
group_by(zustandsveränderung_num, sex) %>%
summarise_all(sum) %>%
mutate(zustandsveränderung_num = case_when(zustandsveränderung_num == 4 ~ 3,
zustandsveränderung_num == 3 ~ 3,
zustandsveränderung_num == 2 ~ 2,
zustandsveränderung_num == 1 ~ 1,
zustandsveränderung_num == 0 ~ 0,
zustandsveränderung_num == -1 ~ -1,
zustandsveränderung_num == -2 ~ -2,
zustandsveränderung_num == -3 ~ -3,
zustandsveränderung_num == -4 ~ -3)) %>%
group_by(zustandsveränderung_num, sex) %>%
summarise_all(sum)
# Veränderung Wohlbefinden in Prozent nach Geschlecht
zustand.dt <- zustand.dt %>%
group_by(sex) %>%
mutate(percentage = Nweighted/sum(Nweighted)*100) %>%
ungroup()
# Kontrolle Prozent --> 100% pro Geschlecht
aggregate(percentage ~ sex, zustand.dt, sum)
## sex percentage
## 1 Frau 100
## 2 Mann 100
# Datensatz für Dumbbell Plot vorbereiten
zustand_dumb.dt <- zustand.dt %>%
select(percentage, zustandsveränderung_num, sex) %>%
spread(key = sex, value = percentage) %>%
mutate(gap_f_m = Frau - Mann) %>%
mutate(zustandsveränderung = case_when(zustandsveränderung_num == 3 ~ "sehr viel besser",
zustandsveränderung_num == 2 ~ "viel besser",
zustandsveränderung_num == 1 ~ "etwas besser",
zustandsveränderung_num == 0 ~ "unverändert",
zustandsveränderung_num == -1 ~ "etwas schlechter",
zustandsveränderung_num == -2 ~ "viel schlechter",
zustandsveränderung_num == -3 ~ "sehr viel schlechter"))
# Prozent Label Funktion all
percent_all <- function(x) {
x <- sprintf("%d%%", round(x))
x
}
# Setup colour scheme
grey <- "#b2b2b2"
yellow <- "#FFCC33"
violet <- "#9966FF"
l.grey <- "#7a7d7e"
# Dumbbelle Plot Wohlbefinden
zustand.dumbbell.plot <- ggplot(data = zustand_dumb.dt) +
geom_segment(data = zustand_dumb.dt, aes(y = zustandsveränderung, yend = zustandsveränderung,
x = 0, xend = 60), colour = grey, size = 0.01)+
aes(y = zustandsveränderung, gap_f_m, x = Frau, xend = Mann)+
geom_dumbbell(size = 1.5, size_x = 3, size_xend = 3, color = grey,
colour_x = violet, colour_xend = yellow)+
scale_y_discrete(limits = c("sehr viel besser", "viel besser",
"etwas besser", "unverändert", "etwas schlechter",
"viel schlechter", "sehr viel schlechter"))+
geom_text(data = filter(zustand_dumb.dt, zustandsveränderung == "etwas schlechter"),
aes(x = Frau, y = zustandsveränderung, label = "Frauen"),
colour = violet, size = 4.5, vjust = -1.5, hjust = 0.4, fontface = "bold")+
geom_text(data = filter(zustand_dumb.dt, zustandsveränderung == "etwas schlechter"),
aes(x = Mann, y = zustandsveränderung, label = "Männer"),
colour = yellow, size = 4.5, vjust = -1.5, hjust = 0.6, fontface = "bold")+
geom_text(data = zustand_dumb.dt, aes(x = Mann, y = zustandsveränderung,
label = ifelse(zustandsveränderung %in% c("viel schlechter", "etwas schlechter", "unverändert"), percent_all(Mann), '')),
colour = yellow, size = 3.5, vjust = 2.5)+
geom_text(data = zustand_dumb.dt, aes(x = Frau, y = zustandsveränderung,
label = percent_all(Frau)),
colour = violet, size = 3.5, vjust = 2.5)+
labs(title = "Mütter machten die verordneten Massnahmen öfter zu schaffen als Vätern.",
subtitle = "Wie geht es Ihnen im Vergleich zu vor dem Shutdown? \nAnzahl Männer und Frauen in Prozent",
caption = "\nFragen: «Wie ging es Ihnen vor Beginn der Corona-Krise?» / «Wie geht es Ihnen zurzeit?»\nDaten: Forschungsstelle sotomo (Corona-Monitor , 1./2. Welle , März/April 2020)\nGrafik: Felicia Mändli",
x = NULL, y = NULL)+
theme_bw()+
theme(
panel.grid.major = element_blank(),
panel.grid.minor=element_blank(),
panel.border=element_blank(),
axis.ticks=element_blank(),
axis.text.x=element_blank(),
plot.title=element_text(size = 15, face="bold"),
plot.title.position = "plot",
plot.subtitle=element_text(face="italic", size=11, margin=margin(b=12)),
plot.caption=element_text(size=8, margin=margin(t=12), color = l.grey)
)
# Dumbbell Plot Wohlbefinden anzeigen
zustand.dumbbell.plot
# Stimmung Welle 1
stimmung.dt.w1 <- corona.dt %>%
filter(Welle == 1) %>%
select(id, weight, sex, Erwerbssituation, Homeoffice, paste0("moodAtHome_SQ00", 1:9), moodAtHome_SQ010) %>%
pivot_longer(cols = c(-id, -weight, -sex, -Erwerbssituation, -Homeoffice), names_to = "moodAtHome", values_to = "question") %>% #tidy data
separate(question, c("question", "var.label"), ":") %>%
mutate(var.code = case_when(var.label == " Selected" ~ 1,
var.label == " Not selected" ~ 0,
TRUE ~ NA_real_)) %>%
group_by(id) %>%
mutate(sum = sum(var.code, na.rm = TRUE)) %>%
filter(sum != 0) #schliesst Personen aus, die nichts ausgewählt haben.
# Welle 1 gewichten
stimmung.dt.w1.E <- stimmung.dt.w1 %>%
group_by(question, var.code, sex, Erwerbssituation) %>%
summarise(Nweighted=sum(weight), .groups = 'drop')
# Stimmung Welle 2
stimmung.dt.w2 <- corona.dt %>%
filter(Welle == 2) %>%
select(id, weight, sex, Erwerbssituation, Homeoffice, paste0("moodAtHome_SQ00", 1:9), moodAtHome_SQ010) %>%
pivot_longer(cols = c(-id, -weight, -sex, -Erwerbssituation, -Homeoffice), names_to = "moodAtHome", values_to = "question") %>% #tidy data
separate(question, c("question", "var.label"), ":") %>%
mutate(var.code = case_when(var.label == " Selected" ~ 1,
var.label == " Not selected" ~ 0,
TRUE ~ NA_real_)) %>%
group_by(id) %>%
mutate(sum = sum(var.code, na.rm = TRUE)) %>%
filter(sum != 0) #schliesst Personen aus, die nichts ausgewählt haben.
# Welle 2 gewichten
stimmung.dt.w2.E <- stimmung.dt.w2 %>%
group_by(question, var.code, sex, Erwerbssituation) %>%
summarise(Nweighted=sum(weight), .groups = 'drop')
# Wellen zusammenfügen
stimmung.dt.E <- rbind(stimmung.dt.w1.E, stimmung.dt.w2.E)
stimmung.dt.E <- stimmung.dt.E %>%
group_by(question, sex, Erwerbssituation, var.code) %>%
summarise_all(sum)
# prozente ausrechnen
stimmung.dt.E <- stimmung.dt.E %>%
group_by(question, sex, Erwerbssituation) %>%
mutate(percentage = Nweighted/sum(Nweighted)*100) %>% #Prozent aller Männer und Frauen
filter(var.code == 1) %>% #nur solche, die der Veränderung "zustimmen"
mutate(Thema = case_when(question == "Ãœberforderung mit Kinderbetreuung" ~ "Ãœberfordert mit Kinderbetreuung")) %>%
na.omit() %>%
ungroup() %>%
select(-var.code, -question) %>%
relocate(Thema, sex, Erwerbssituation, percentage, Nweighted)
# Welle 1 gewichten
stimmung.dt.w1.H <- stimmung.dt.w1 %>%
group_by(question, var.code, sex, Homeoffice) %>%
summarise(Nweighted = sum(weight), .groups = 'drop')
# Welle 2 gewichten
stimmung.dt.w2.H <- stimmung.dt.w2 %>%
group_by(question, var.code, sex, Homeoffice) %>%
summarise(Nweighted = sum(weight), .groups = 'drop')
# Wellen zusammenfügen und summieren
stimmung.dt.H <- rbind(stimmung.dt.w1.H, stimmung.dt.w2.H)
stimmung.dt.H <- stimmung.dt.H %>%
group_by(question, sex, Homeoffice, var.code) %>%
summarise_all(sum)
# Prozente ausrechnen
stimmung.dt.H <- stimmung.dt.H %>%
group_by(question, sex, Homeoffice) %>%
mutate(percentage = Nweighted/sum(Nweighted)*100) %>% #Prozent aller Männer/Frauen
filter(var.code == 1) %>% #nur solche, die der Veränderung "zustimmen"
mutate(Thema = case_when(question == "Ãœberforderung mit Kinderbetreuung" ~ "Ãœberfordert mit Kinderbetreuung")) %>%
na.omit() %>%
ungroup() %>%
select(-var.code, -question) %>%
relocate(Thema, sex, Homeoffice, percentage, Nweighted)
# Stimmung Welle 1
arbeitslast.dt.w1 <- corona.dt %>%
filter(Welle == 1) %>%
select(id, weight, sex, Erwerbssituation, Homeoffice, paste0("arbeitslast_SQ00", 1:5)) %>%
pivot_longer(cols = c(-id, -weight, -sex, -Erwerbssituation, -Homeoffice), names_to = "arbeitslast", values_to = "question") %>%
separate(question, c("question", "var.label"), ":") %>%
mutate(var.code = case_when(var.label == " Selected" ~ 1,
var.label == " Not selected" ~ 0,
TRUE ~ NA_real_)) %>%
group_by(id) %>%
mutate(sum = sum(var.code, na.rm = TRUE)) %>%
filter(sum != 0) #schliesst Personen aus, die die Frage nicht beantwortet haben.
# Welle 1 gewichten
arbeitslast.dt.w1.E <- arbeitslast.dt.w1 %>%
group_by(question, var.code, sex, Erwerbssituation) %>%
summarise(Nweighted = sum(weight), .groups = 'drop')
# Stimmung Welle 2
arbeitslast.dt.w2 <- corona.dt %>%
filter(Welle == 2) %>%
select(id, weight, sex, Erwerbssituation, Homeoffice, paste0("arbeitslast_SQ00", 1:5)) %>%
pivot_longer(cols = c(-id, -weight, -sex, -Erwerbssituation, -Homeoffice), names_to = "arbeitslast", values_to = "question") %>%
separate(question, c("question", "var.label"), ":") %>%
mutate(var.code = case_when(var.label == " Selected" ~ 1,
var.label == " Not selected" ~ 0,
TRUE ~ NA_real_)) %>%
group_by(id) %>%
mutate(sum = sum(var.code, na.rm = TRUE)) %>%
filter(sum != 0) #schliesst Personen aus, die die Frage nicht beantwortet haben.
# Welle 2 gewichten
arbeitslast.dt.w2.E <- arbeitslast.dt.w2 %>%
group_by(question, var.code, sex, Erwerbssituation) %>%
summarise(Nweighted = sum(weight), .groups = 'drop')
# Wellen zusammenfügen und summieren
arbeitslast.dt.E <- rbind(arbeitslast.dt.w1.E, arbeitslast.dt.w2.E)
arbeitslast.dt.E <- arbeitslast.dt.E %>%
group_by(question, sex, Erwerbssituation, var.code) %>%
summarise_all(sum)
# prozente ausrechnen
arbeitslast.dt.E <- arbeitslast.dt.E %>%
group_by(question, sex, Erwerbssituation) %>%
mutate(percentage = Nweighted/sum(Nweighted)*100) %>% #Prozent aller Männer und Frauen
filter(var.code == 1) %>% #nur solche, die der Veränderung zustimmen.
mutate(Thema = case_when(question == "Weniger Kapazitäten aufgrund von Betreuungspflichten, Homeschooling usw." ~ "Weniger Arbeitskapazität wegen Betreuungspflicht und Homeschooling")) %>%
na.omit() %>%
ungroup() %>%
select(-var.code, -question) %>%
relocate(Thema, sex, Erwerbssituation, percentage, Nweighted)
# Welle 1 gewichten
arbeitslast.dt.w1.H <- arbeitslast.dt.w1 %>%
group_by(question, var.code, sex, Homeoffice) %>%
summarise(Nweighted = sum(weight), .groups = 'drop')
# Welle 2 gewichten
arbeitslast.dt.w2.H <- arbeitslast.dt.w2 %>%
group_by(question, var.code, sex, Homeoffice) %>%
summarise(Nweighted = sum(weight), .groups = 'drop')
# Wellen zusammenfügen und summieren
arbeitslast.dt.H <- rbind(arbeitslast.dt.w1.H, arbeitslast.dt.w2.H)
arbeitslast.dt.H <- arbeitslast.dt.H %>%
group_by(question, sex, Homeoffice, var.code) %>%
summarise_all(sum)
# Prozente ausrechnen
arbeitslast.dt.H <- arbeitslast.dt.H %>%
group_by(question, sex, Homeoffice) %>%
mutate(percentage = Nweighted/sum(Nweighted)*100) %>% #Prozent aller Männer/Frauen
filter(var.code == 1) %>% #nur solche, die der Veränderung zustimmen
mutate(Thema = case_when(question == "Weniger Kapazitäten aufgrund von Betreuungspflichten, Homeschooling usw." ~ "Weniger Arbeitskapazität wegen Betreuungspflicht und Homeschooling")) %>%
na.omit() %>%
ungroup() %>%
select(-var.code, -question) %>%
relocate(Thema, sex, Homeoffice, percentage, Nweighted)
Dumbbell Plots zur Erwerbssituation
kinderbetreuung.E.dt <- stimmung.dt.E %>%
mutate(Geschlecht = case_when(sex == "Mann" ~ "Mann",
sex == "Frau" ~ "Frau")) %>%
select(-sex) %>%
select(percentage, Thema, Erwerbssituation, Geschlecht) %>%
spread(key = Geschlecht, value = percentage) %>%
mutate(gap_f_m_kinderE = Frau - Mann)
# Dumbbell Plot Erwerbssituation ~ Kinderbetreuung
kinderbetreuung.E.dumb <- ggplot(data = kinderbetreuung.E.dt)+
geom_segment(data = kinderbetreuung.E.dt, aes(y = Erwerbssituation, yend = Erwerbssituation,
x = 25, xend = 50), colour = grey, size = 0.1)+
aes(y = Erwerbssituation, gap_f_m_kinderE, x = Frau, xend = Mann)+
geom_dumbbell(size = 1.5, size_x = 3, size_xend = 3, color = grey,
colour_x = violet, colour_xend = yellow)+
scale_y_discrete(limits = c("Teilzeit", "Vollzeit", "Kurzarbeit", "Selbständig",
"Haushalt"),
labels = c("Teilzeit", "Vollzeit", "Kurzarbeit", "Selbständig",
"Hausfrau/Hausmann"))+
geom_text(data = filter(kinderbetreuung.E.dt, Erwerbssituation == "Haushalt"),
aes(x = Frau, y = Erwerbssituation, label = "Frauen"),
colour = violet, size = 4.5, vjust = -1.5, hjust = 0.3, fontface = "bold")+
geom_text(data = filter(kinderbetreuung.E.dt, Erwerbssituation == "Haushalt"),
aes(x = Mann, y = Erwerbssituation, label = "Männer"),
colour = yellow, size = 4.5, vjust = -1.5, hjust = 0.7, fontface = "bold")+
geom_text(data = kinderbetreuung.E.dt, aes(x = Mann, y = Erwerbssituation,
label = ifelse(Erwerbssituation %in% c("Teilzeit", "Vollzeit", "Kurzarbeit", "Selbständig", "Haushalt"), percent_all(Mann), '')),
colour = yellow, size = 3.5, vjust = 2.5, hjust = 0.8)+
geom_text(data = kinderbetreuung.E.dt, aes(x = Frau, y = Erwerbssituation,
label = percent_all(Frau)),
colour = violet, size = 3.5, vjust = 2.5, hjust = 0.2)+
labs(title = "Die Überforderung mangels externer Kinderbetreuung während dem Shutdown \nwar gross.",
subtitle = "Haben Sie während dem Shutdown eine zusätzliche Belastung durch Kinderbetreuung und Homeschooling verspürt? \nAnzahl Männer und Frauen in Prozent, gruppiert nach Erwerbssituation.",
caption = "\nFrage: «Wie wirkt sich die aktuelle Situation bei Ihnen zuhause aus? Antwortoption: Belastung durch Kinderbetreuung und Homeschooling.»\nDaten: Forschungsstelle sotomo (Corona-Monitor , 1./2. Welle , März/April 2020)\nGrafik: Felicia Mändli",
x = NULL, y = NULL)+
theme_bw()+
theme(
panel.grid.major = element_blank(),
panel.grid.minor=element_blank(),
panel.border=element_blank(),
axis.ticks=element_blank(),
axis.text.x=element_blank(),
plot.title=element_text(size = 15, face="bold"),
plot.title.position = "plot",
plot.subtitle=element_text(face="italic", size=11, margin=margin(b=12)),
plot.caption=element_text(size=8, margin=margin(t=12), color = l.grey)
)
# Dumbbell Plot Erwerbssituation ~ Kinderbetreuung anzeigen
kinderbetreuung.E.dumb
arbeitslast.E.dt <- arbeitslast.dt.E %>%
mutate(Geschlecht = case_when(sex == "Mann" ~ "Mann",
sex == "Frau" ~ "Frau")) %>%
select(-sex) %>%
select(percentage, Thema, Erwerbssituation, Geschlecht) %>%
spread(key = Geschlecht, value = percentage) %>%
mutate(gap_f_m_arbeitE = Frau - Mann)
# Dumbbell Plot Erwerbssituation ~ Arbeitslast
arbeitslast.E.dumb <- ggplot(data = arbeitslast.E.dt)+
geom_segment(data = arbeitslast.E.dt, aes(y = Erwerbssituation, yend = Erwerbssituation,
x = 0, xend = 50), colour = grey, size = 0.1)+
aes(y = Erwerbssituation, gap_f_m_arbeitE, x = Frau, xend = Mann)+
geom_dumbbell(size = 1.5, size_x = 3, size_xend = 3, color = grey,
colour_x = violet, colour_xend = yellow)+
scale_y_discrete(limits = c("Teilzeit", "Vollzeit", "Kurzarbeit", "Selbständig"),
labels = c("Teilzeit", "Vollzeit", "Kurzarbeit", "Selbständig"))+
geom_text(data = filter(arbeitslast.E.dt, Erwerbssituation == "Selbständig"),
aes(x = Frau, y = Erwerbssituation, label = "Frauen"),
colour = violet, size = 4.5, vjust = -1.5, hjust = 0.4, fontface = "bold")+
geom_text(data = filter(arbeitslast.E.dt, Erwerbssituation == "Selbständig"),
aes(x = Mann, y = Erwerbssituation, label = "Männer"),
colour = yellow, size = 4.5, vjust = -1.5, hjust = 0.6, fontface = "bold")+
geom_text(data = arbeitslast.E.dt, aes(x = Mann, y = Erwerbssituation,
label = ifelse(Erwerbssituation %in% c("Teilzeit", "Vollzeit", "Selbständig", "Haushalt"), percent_all(Mann), '')),
colour = yellow, size = 3.5, vjust = 2.5, hjust = 0.8)+
geom_text(data = arbeitslast.E.dt, aes(x = Frau, y = Erwerbssituation,
label = percent_all(Frau)),
colour = violet, size = 3.5, vjust = 2.5, hjust = 0.2)+
labs(title = "Vorwiegend Mütter haben ihre Arbeitszeit reduziert, um die weggefallenen \nFremdbetreuung zu kompensieren.",
subtitle = "Hatten Sie während dem Lockdown weniger Arbeitskapazität aufgrund von Betreuungspflicht und Homeschooling? \nAnzahl Männer und Frauen in Prozent, gruppiert nach Erwerbssituation.",
caption = "\nFrage: «Wie hat sich Ihre berufliche Arbeitsbelastung im Vergleich zu vorher verändert? Antwortoption: Weniger Kapazitäten aufgrund von Betreuungspflichten, Homeschooling usw.»\nDaten: Forschungsstelle sotomo (Corona-Monitor , 1./2. Welle , März/April 2020)\nGrafik: Felicia Mändli",
x = NULL, y = NULL)+
theme_bw()+
theme(
panel.grid.major = element_blank(),
panel.grid.minor=element_blank(),
panel.border=element_blank(),
axis.ticks=element_blank(),
axis.text.x=element_blank(),
plot.title=element_text(size = 15, face="bold"),
plot.title.position = "plot",
plot.subtitle=element_text(face="italic", size=11, margin=margin(b=12)),
plot.caption=element_text(size=8, margin=margin(t=12), color = l.grey)
)
# Dumbbell Plot Erwerbssituation ~ Arbeitslast anzeigen
arbeitslast.E.dumb
Dumbbell Plots zum Homeoffice
kinderbetreuung.H.dt <- stimmung.dt.H %>%
mutate(Geschlecht = case_when(sex == "Mann" ~ "Mann",
sex == "Frau" ~ "Frau")) %>%
select(-sex) %>%
select(percentage, Thema, Homeoffice, Geschlecht) %>%
spread(key = Geschlecht, value = percentage) %>%
mutate(gap_f_m_kinderH = Frau - Mann)
# Dumbbell Plot Homeoffice ~ Kinderbetreuung
kinderbetreuung.H.dumb <- ggplot(data = kinderbetreuung.H.dt)+
geom_segment(data = kinderbetreuung.H.dt, aes(y = Homeoffice, yend = Homeoffice,
x = 25, xend = 50), colour = grey, size = 0.1)+
aes(y = Homeoffice, gap_f_m_kinderH, x = Frau, xend = Mann)+
geom_dumbbell(size = 1.5, size_x = 3, size_xend = 3, color = grey,
colour_x = violet, colour_xend = yellow) +
scale_y_discrete(limits = c("nein", "teilweise", "ja"),
labels = c("kein Homeoffice", "teilweise Homeoffice",
"immer Homeoffice"))+
geom_text(data = filter(kinderbetreuung.H.dt, Homeoffice == "ja"),
aes(x = Frau, y = Homeoffice, label = "Frauen"),
colour = violet, size = 4.5, vjust = -1.5, hjust = 0.4, fontface = "bold")+
geom_text(data = filter(kinderbetreuung.H.dt, Homeoffice == "ja"),
aes(x = Mann, y = Homeoffice, label = "Männer"),
colour = yellow, size = 4.5, vjust = -1.5, hjust = 0.6, fontface = "bold")+
geom_text(data = kinderbetreuung.H.dt, aes(x = Mann, y = Homeoffice,
label = ifelse(Homeoffice %in% c("nein", "teilweise", "ja"), percent_all(Mann), '')),
colour = yellow, size = 3.5, vjust = 2.5, hjust = 0.8)+
geom_text(data = kinderbetreuung.H.dt, aes(x = Frau, y = Homeoffice,
label = percent_all(Frau)),
colour = violet, size = 3.5, vjust = 2.5, hjust = 0.2)+
labs(title = "Fast die Hälfte aller Mütter, die teilweise oder vollständig von zu Hause aus arbeiteten, \nwaren mit der Kinderbetreuung überfordert.",
subtitle = "Haben Sie während dem Shutdown eine zusätzliche Belastung durch Kinderbetreuung und Homeschooling verspürt? \nAnzahl Männer und Frauen in Prozent, gruppiert nach Homeofficesituation.",
caption = "\nFrage: «Wie hat sich Ihre berufliche Arbeitsbelastung im Vergleich zu vorher verändert? Antwortoption: Weniger Kapazitäten aufgrund von Betreuungspflichten, Homeschooling usw.»\nDaten: Forschungsstelle sotomo (Corona-Monitor , 1./2. Welle , März/April 2020)\nGrafik: Felicia Mändli",
x = NULL, y = NULL)+
theme_bw()+
theme(
panel.grid.major = element_blank(),
panel.grid.minor=element_blank(),
panel.border=element_blank(),
axis.ticks=element_blank(),
axis.text.x=element_blank(),
plot.title=element_text(size = 15, face="bold"),
plot.title.position = "plot",
plot.subtitle=element_text(face="italic", size=11, margin=margin(b=12)),
plot.caption=element_text(size=8, margin=margin(t=12), color = l.grey)
)
# Dumbbell Plot Homeoffice ~ Kinderbetreuung anzeigen
kinderbetreuung.H.dumb
arbeitslast.H.dt <- arbeitslast.dt.H %>%
mutate(Geschlecht = case_when(sex == "Mann" ~ "Mann",
sex == "Frau" ~ "Frau")) %>%
select(-sex) %>%
select(percentage, Thema, Homeoffice, Geschlecht) %>%
spread(key = Geschlecht, value = percentage) %>%
mutate(gap_f_m_arbeitH = Frau - Mann)
# Dumbbell Plot Homeoffice ~ Arbeitslast
arbeitslast.H.dumb <- ggplot(data = arbeitslast.H.dt)+
geom_segment(data = arbeitslast.H.dt, aes(y = Homeoffice, yend = Homeoffice,
x = 0, xend = 50), colour = grey, size = 0.1)+
aes(y = Homeoffice, gap_f_m_kinderH, x = Frau, xend = Mann)+
geom_dumbbell(size = 1.5, size_x = 3, size_xend = 3, color = grey,
colour_x = violet, colour_xend = yellow) +
scale_y_discrete(limits = c("nein", "teilweise", "ja"),
labels = c("kein Homeoffice", "teilweise Homeoffice",
"immer Homeoffice"))+
geom_text(data = filter(arbeitslast.H.dt, Homeoffice == "ja"),
aes(x = Frau, y = Homeoffice, label = "Frauen"),
colour = violet, size = 4.5, vjust = -1.5, hjust = 0.4, fontface = "bold")+
geom_text(data = filter(arbeitslast.H.dt, Homeoffice == "ja"),
aes(x = Mann, y = Homeoffice, label = "Männer"),
colour = yellow, size = 4.5, vjust = -1.5, hjust = 0.6, fontface = "bold")+
geom_text(data = arbeitslast.H.dt, aes(x = Mann, y = Homeoffice,
label = ifelse(Homeoffice %in% c("nein", "teilweise", "ja"), percent_all(Mann), '')),
colour = yellow, size = 3.5, vjust = 2.5, hjust = 0.8)+
geom_text(data = arbeitslast.H.dt, aes(x = Frau, y = Homeoffice,
label = percent_all(Frau)),
colour = violet, size = 3.5, vjust = 2.5, hjust = 0.2)+
labs(title = "Eltern im Homeoffice haben öfters ihre Arbeitszeit zu Gunsten der Kinderbetreuung \nreduziert, als solche, die auswärts arbeiten.",
subtitle = "Hatten Sie während dem Lockdown weniger Arbeitskapazität aufgrund von Betreuungspflicht und Homeschooling? \nAnzahl Männer und Frauen in Prozent, gruppiert nach Homeofficesituation.",
caption = "\nFrage: «Wie hat sich Ihre berufliche Arbeitsbelastung im Vergleich zu vorher verändert? Antwortoption: Weniger Kapazitäten aufgrund von Betreuungspflichten, Homeschooling usw.»\nDaten: Forschungsstelle sotomo (Corona-Monitor , 1./2. Welle , März/April 2020)\nGrafik: Felicia Mändli",
x = NULL, y = NULL)+
theme_bw()+
theme(
panel.grid.major = element_blank(),
panel.grid.minor=element_blank(),
panel.border=element_blank(),
axis.ticks=element_blank(),
axis.text.x=element_blank(),
plot.title=element_text(size = 15, face="bold"),
plot.title.position = "plot",
plot.subtitle=element_text(face="italic", size=11, margin=margin(b=12)),
plot.caption=element_text(size=8, margin=margin(t=12), color = l.grey)
)
# Dumbbell Plot Homeoffice ~ Arbeitslast anzeigen
arbeitslast.H.dumb