1 Workspace leeren, Ordner definieren und Packages laden
# Arbeitsspeicher leeren und Optionen setzen
rm(list=ls(all=TRUE))
options(stringsAsFactors = F)
# Arbeitsordner
setwd("/Users/Stephanie/Documents/UZH/R-Files/VB_DDJ/Blogbeitrag")
# Installieren/Laden von Paketen
list_packages <- c("dplyr", "tidyr", "foreign","ggplot2","scales","readxl",
"plotly", "ggthemes", "sf", "ggrepel", "scales", "stats",
"tidyverse", "RColorBrewer", "viridis", "data.table", "ggpubr",
"tidytext")
lapply(list_packages, library, character.only = TRUE)
2 Daten einlesen
data_annabeau <- read.csv("annabeau_data.csv", header=TRUE, sep= ",", stringsAsFactors = FALSE)
data_annajetzt <- read.csv("annajetzt_data.csv", header=TRUE, sep=",", stringsAsFactors = FALSE)
3 Datensatz “annajetzt” bereinigen (neue Variable aus
MC-Variable)
annajetzt_diskr <- data_annajetzt %>%
mutate(age_groups = case_when(
age >= 16 & age <= 30 ~ '16 bis 30',
age >= 31 & age <= 45 ~ '31 bis 45',
age >= 46 & age <= 60 ~ '46 bis 60',
age >= 61 & age <= 75 ~ '61 bis 75',
age >= 76 & age <= 100 ~ '76 und älter')) %>%
select(weight, age_groups, sex, starts_with("jobExpPast")) %>% # alle Variablen die mit "jobExpPast" starten wählen
pivot_longer(!weight:sex, names_to = "jobExpPast", values_to = "var.label") %>% # reshape long
mutate(var.code = case_when(var.label == "Y" ~ 1,
var.label == "" ~ 0,
TRUE ~ NA_real_)) %>%
mutate(sum = sum(var.code, na.rm=T)) %>%
filter(sum != 0) %>% # Wenn eine Person keine Antwortoption gewählt hat, wird sie ausgeschlossen
group_by(jobExpPast, var.code, sex, age_groups) %>%
summarise(Nweighted = sum(weight),.groups = 'drop') %>% #Gewichtung miteinbeziehen
group_by(jobExpPast, sex) %>%
mutate(Percentage=Nweighted/sum(Nweighted)*100) %>%
filter(var.code == 1) %>%
mutate(jobDiskr = case_when(
jobExpPast %in% "jobExpPast_SQ001" ~ "Sexualisierte Sprüche und Witze",
jobExpPast %in% "jobExpPast_SQ002" ~ "Sexuelle Belästigung durch\n Vorgesetzte/n",
jobExpPast %in% "jobExpPast_SQ003" ~ "Sexuelle Belästigung\n durch Arbeitskolleg:innen",
jobExpPast %in% "jobExpPast_SQ004" ~ "Diskriminierung auf\n Grund des Geschlechts",
jobExpPast %in% "jobExpPast_SQ005" ~ "Frage nach Schwangerschaft oder\n Kinderwunsch bei Vorstellungsgespräch",
jobExpPast %in% "jobExpPast_SQ006" ~ "Frage nach Familienplanung\n während Arbeitsverhältnis",
jobExpPast %in% "jobExpPast_SQ007" ~ "Ausschluss von Projekten/Tätigkeiten\n auf Grund der Familiensituation",
jobExpPast %in% "jobExpPast_SQ008" ~ "Nichts davon"))
4 Datensatz “annabeau” bereinigen (neue Variable aus
MC-Variable)
annabeau_diskr <- data_annabeau %>%
mutate(age_groups = case_when(
age >= 16 & age <= 30 ~ '16 bis 30',
age >= 31 & age <= 45 ~ '31 bis 45',
age >= 46 & age <= 60 ~ '46 bis 60',
age >= 61 & age <= 75 ~ '61 bis 75',
age >= 76 & age <= 100 ~ '76 und älter')) %>%
select(weight, age_groups, gender, starts_with("notOkJob")) %>%
pivot_longer(!weight:gender, names_to = "notOkJob", values_to = "var.label") %>% # reshape long
mutate(var.code = case_when(var.label == "Y" ~ 1,
var.label == "" ~ 0,
TRUE ~ NA_real_)) %>%
mutate(sum = sum(var.code, na.rm=T)) %>%
filter(sum != 0) %>% # Wenn eine Person keine Antwortoption gewählt hat, wird sie ausgeschlossen
#group_by(notOkJob, var.code, gender, age_groups, partei2) %>%
group_by(notOkJob, var.code, gender, age_groups) %>%
summarise(Nweighted = sum(weight),.groups = 'drop') %>% #Gewichtung miteinbeziehen
group_by(notOkJob, gender) %>%
mutate(Percentage=Nweighted/sum(Nweighted)*100) %>%
filter(var.code == 1) %>%
mutate(jobDiskr = case_when(
notOkJob %in% "notOkJob_SQ001" ~ "Kompliment zur Kleidung",
notOkJob %in% "notOkJob_SQ002" ~ "Kompliment zum Äussern",
notOkJob %in% "notOkJob_SQ003" ~ "Körperbetonte Kleidung tragen",
notOkJob %in% "notOkJob_SQ004" ~ "Fragen nach sexueller Orientierung",
notOkJob %in% "notOkJob_SQ005" ~ "Fragen nach Beziehungsstatus",
notOkJob %in% "notOkJob_SQ006" ~ "Berührung am Arm, Schultern, Rücken",
notOkJob %in% "notOkJob_SQ007" ~ "Berührung von Taille, Bauch",
notOkJob %in% "notOkJob_SQ008" ~ "Flirten im Büro",
notOkJob %in% "notOkJob_SQ009" ~ "Feuchtfröhliche Betriebsfeiern",
notOkJob %in% "notOkJob_SQ010" ~ "Mit Arbeitskolleg:innen über Körper/Aussehen\nvon Arbeitskolleg:innen sprechen",
notOkJob %in% "notOkJob_SQ011" ~ "Mit anderen über das Sexleben\nvon Arbeitskolleg:in sprechen",
notOkJob %in% "notOkJob_SQ012" ~ "Frage nach Schwangerschaft oder\nFamilienplanung von Arbeitskolleg:innen",
notOkJob %in% "notOkJob_SQ013" ~ "Frage nach Schwangerschaft oder\nFamilienplanung von Untergebenen",
notOkJob %in% "notOkJob_SQ014" ~ "Frage nach Schwangerschaft oder\nFamilienplanung beim Vorstellungsgespräch",
notOkJob %in% "notOkJob_SQXXX" ~ "Nichts davon"
))
5 Plots vorbereiten - Theme und Altersgruppen
theme_sbl <- theme_bw() +
theme(plot.title = element_text(color = "gray27", size=30, face = "bold"),
plot.title.position = "plot",
plot.subtitle = element_text(size = 22),
panel.grid.major.y = element_blank(),
panel.grid.minor.y = element_blank(),
panel.grid.minor.x = element_blank(),
panel.border = element_blank(),
#plot.caption=element_text(hjust = 0),
#legend.position = "right",
#axis.line.x = element_line(colour = "black"),
axis.line.x = element_blank(),
axis.line.y = element_blank(),
axis.ticks = element_blank(),
legend.box.background = element_rect(colour = "black", linewidth = 0.5))
level_fill_age <- c("16 bis 30", "31 bis 45", "46 bis 60", "61 bis 75", "76 und älter")
6 Annajetzt - Erlebte diskriminierende Handlungen am
Arbeitsplatz
level_order_aj_diskr <- c('Sexualisierte Sprüche und Witze', 'Diskriminierung auf\n Grund des Geschlechts',
'Frage nach Schwangerschaft oder\n Kinderwunsch bei Vorstellungsgespräch',
'Frage nach Familienplanung\n während Arbeitsverhältnis', 'Sexuelle Belästigung\n durch Arbeitskolleg:innen',
'Sexuelle Belästigung durch\n Vorgesetzte/n',
'Ausschluss von Projekten/Tätigkeiten\n auf Grund der Familiensituation', 'Nichts davon')
annajetzt_diskr$age_groups <- factor(annajetzt_diskr$age_groups, levels=rev(level_fill_age))
plot_frauen_erfahrungen <- ggplot(annajetzt_diskr, aes(x = factor(jobDiskr,
level = rev(level_order_aj_diskr)),
y = (Percentage/100),
fill = age_groups,
label = ifelse(Percentage > 1, scales::percent((Percentage/100), accuracy = 1), ""))) +
geom_bar(stat = "identity", position = "stack", width = 0.5)+
geom_text(color=ifelse(annajetzt_diskr$age_groups=="16 bis 30", 'gray95', 'black'),
size = 4,
position = position_stack(vjust = 0.5),
fontface = "bold") +
ggtitle("Über 50% der befragten Frauen sahen sich am Arbeitsplatz schon\nsexualisierten Sprüchen und Witzen ausgesetzt",
subtitle = "Erfahrungen, die Frauen in ihrem bisherigen Erwerbsleben gemacht haben") +
scale_fill_brewer(palette = "Purples")+
scale_y_continuous(limits = c(0,0.8), breaks = seq(0, 1, by = 0.1),
labels = scales::percent, expand = expansion(mult = c(0, 0.05)))+
ylab("")+
xlab("")+
labs(caption = "Daten: sotomo")+
coord_flip()+
guides(fill = guide_legend(title = "Altersgruppen\n(in Jahren)", reverse = TRUE))+
theme_sbl+
theme(axis.text.x = element_text(size = 12),
axis.text.y = element_text(size = 12),
legend.text=element_text(size=12),
legend.position = c(0.88, 0.5),
legend.key.size = unit(1.5, 'cm'),
plot.title = element_text(size=17),
plot.subtitle = element_text(size = 12),
legend.title = element_text(size=12, face = "bold"),
plot.caption = element_text(size = 12, face = "italic"))
plot_frauen_erfahrungen
7 Annabeau - Potenziell diskriminierende Handlungen am
Arbeitsplatz
level_order_ab_diskr <- c('Kompliment zur Kleidung', 'Kompliment zum Äussern',
'Fragen nach Beziehungsstatus', 'Körperbetonte Kleidung tragen', 'Berührung am Arm, Schultern, Rücken',
'Frage nach Schwangerschaft oder\nFamilienplanung von Arbeitskolleg:innen', 'Feuchtfröhliche Betriebsfeiern',
'Flirten im Büro', 'Fragen nach sexueller Orientierung', 'Mit Arbeitskolleg:innen über Körper/Aussehen\nvon Arbeitskolleg:innen sprechen',
'Frage nach Schwangerschaft oder\nFamilienplanung von Untergebenen', 'Frage nach Schwangerschaft oder\nFamilienplanung beim Vorstellungsgespräch',
'Mit anderen über das Sexleben\nvon Arbeitskolleg:in sprechen', 'Berührung von Taille, Bauch',
'Nichts davon')
annabeau_diskr$age_groups <- factor(annabeau_diskr$age_groups, levels=rev(level_fill_age))
plot_maenner_ok <- ggplot(annabeau_diskr, aes(x = factor(jobDiskr, level = rev(level_order_ab_diskr)),
y = (Percentage/100),
fill = age_groups,
label = ifelse(Percentage > 1, scales::percent((Percentage/100), accuracy = 1), ""))) +
geom_bar(stat = "identity", position = "stack", width = 0.5)+
geom_text(color=ifelse(annabeau_diskr$age_groups=="16 bis 30", 'gray95', 'black'),
size = 3.5, position = position_stack(vjust = 0.5), fontface = "bold") +
ggtitle("Im Vergleich zu ihren nächstälteren Kollegen zeigen Männer bis 30 Jahre meistens\nmehr Sensibilität bezüglich diskrimierender Handlungen am Arbeitsplatz",
subtitle = "Handlungen, die im Umgang mit Arbeitskolleg:innen als 'völlig in Ordnung' eingeschätzt werden") +
scale_fill_brewer(palette = "BuGn")+
scale_y_continuous(limits = c(0,0.8), breaks = seq(0, 1, by = 0.1),
labels = scales::percent, expand = expansion(mult = c(0, 0.05)))+
ylab("")+
xlab("")+
labs(caption = "Daten: sotomo")+
coord_flip()+
guides(fill = guide_legend(title = "Altersgruppen\n(in Jahren)", reverse = TRUE))+
theme_sbl+
theme(axis.text.x = element_text(size = 12),
axis.text.y = element_text(size = 12),
legend.text=element_text(size=12),
legend.position = c(0.88, 0.5),
legend.key.size = unit(1.5, 'cm'),
plot.title = element_text(size=17),
plot.subtitle = element_text(size = 12),
legend.title = element_text(size=12, face = "bold"),
plot.caption = element_text(size = 12, face = "italic"))
plot_maenner_ok
8 Diskriminierende Handlungen nach Partei
8.1 Datensatz “Annajetzt” bereinigen und filtern
annajetzt_diskr_partei <- data_annajetzt %>%
mutate(age_groups = case_when(
age >= 16 & age <= 30 ~ '16 bis 30',
age >= 31 & age <= 45 ~ '31 bis 45',
age >= 46 & age <= 60 ~ '46 bis 60',
age >= 61 & age <= 75 ~ '61 bis 75',
age >= 76 & age <= 100 ~ '76 und älter')) %>%
mutate(party = case_when(
party %in% "A1" ~ "Rechts", #ehemals SVP
party %in% "A2" ~ "Links", #ehemals SP
party %in% "A3" ~ "Mitte", #ehemals FDP
party %in% "A4" ~ "Links", #ehemals GPS
party %in% "A5" ~ "Mitte",
party %in% "A6" ~ "Mitte", #ehemals GLP
party %in% "A8" ~ "Mitte", # EVP zur Mitte hinzugefügt, da keine Ausprägung bei annabeau
party %in% "A95" ~ "Rechts", # EDU zur Option "recht" hinzugefügt, da keine separate Kategorie
party %in% "A10" ~ "Links",
party %in% "A11" ~ "Rechts",
party %in% "A12" ~ "and",
party %in% "A13" ~ "weiss-nicht",
)) %>%
filter(party != "and" & party != "weiss-nicht") %>%
select(weight, age_groups, party, sex, starts_with("jobExpPast")) %>% # alle Variablen die mit "jobExpPast" starten wählen
pivot_longer(!weight:sex, names_to = "jobExpPast", values_to = "var.label") %>% # reshape long
mutate(var.code = case_when(var.label == "Y" ~ 1,
var.label == "" ~ 0,
TRUE ~ NA_real_)) %>%
mutate(sum = sum(var.code, na.rm=T)) %>%
filter(sum != 0) %>% # Wenn eine Person keine Antwortoption gewählt hat, wird sie ausgeschlossen
group_by(jobExpPast, var.code, sex, age_groups, party) %>%
summarise(Nweighted = sum(weight),.groups = 'drop') %>% #Gewichtung miteinbeziehen
group_by(jobExpPast, sex) %>%
mutate(Percentage=Nweighted/sum(Nweighted)*100) %>%
filter(var.code == 1) %>%
mutate(jobDiskr = case_when(
jobExpPast %in% "jobExpPast_SQ001" ~ "Sexualisierte\nSprüche und Witze",
jobExpPast %in% "jobExpPast_SQ002" ~ "Sexuelle Belästigung durch\n Vorgesetzte/n",
jobExpPast %in% "jobExpPast_SQ003" ~ "Sexuelle Belästigung\n durch Arbeitskolleg:innen",
jobExpPast %in% "jobExpPast_SQ004" ~ "Diskriminierung auf\n Grund des Geschlechts",
jobExpPast %in% "jobExpPast_SQ005" ~ "Frage nach Schwangerschaft oder\n Kinderwunsch bei Vorstellungsgespräch",
jobExpPast %in% "jobExpPast_SQ006" ~ "Frage nach Familienplanung\n während Arbeitsverhältnis",
jobExpPast %in% "jobExpPast_SQ007" ~ "Ausschluss von Projekten/Tätigkeiten\n auf Grund der Familiensituation",
jobExpPast %in% "jobExpPast_SQ008" ~ "Nichts davon"))
annajetzt_diskr_junge <- annajetzt_diskr_partei %>%
filter(age_groups != "46 bis 60" & age_groups != "61 bis 75" & age_groups != "76 und älter") %>%
filter(jobDiskr == "Sexualisierte\nSprüche und Witze" |
jobDiskr == "Diskriminierung auf\n Grund des Geschlechts" |
jobDiskr == "Sexuelle Belästigung\n durch Arbeitskolleg:innen")
8.2 Datensatz “Annabeau” bereinigen und filtern
annabeau_diskr_partei <- data_annabeau %>%
mutate(age_groups = case_when(
age >= 16 & age <= 30 ~ '16 bis 30',
age >= 31 & age <= 45 ~ '31 bis 45',
age >= 46 & age <= 60 ~ '46 bis 60',
age >= 61 & age <= 75 ~ '61 bis 75',
age >= 76 & age <= 100 ~ '76 und älter')) %>%
rename(party = partei2) %>%
mutate(party = ifelse(party == "", NA, party)) %>%
filter(!is.na(party)) %>%
mutate(party = case_when(
party %in% "svp" ~ "Rechts",
party %in% "sp" ~ "Links",
party %in% "fdp" ~ "Mitte",
party %in% "gps" ~ "Links",
party %in% "glp" ~ "Mitte",
party %in% "recht" ~ "Rechts",
party %in% "A10" ~ "Links",
party %in% "A11" ~ "Rechts",
)) %>%
filter(party != "and") %>%
select(weight, age_groups, party, gender, starts_with("notOkJob")) %>%
pivot_longer(!weight:gender, names_to = "notOkJob", values_to = "var.label") %>% # reshape long
mutate(var.code = case_when(var.label == "Y" ~ 1,
var.label == "" ~ 0,
TRUE ~ NA_real_)) %>%
mutate(sum = sum(var.code, na.rm=T)) %>%
filter(sum != 0) %>% # Wenn eine Person keine Antwortoption gewählt hat, wird sie ausgeschlossen
group_by(notOkJob, var.code, gender, age_groups, party) %>%
summarise(Nweighted = sum(weight),.groups = 'drop') %>% #Gewichtung miteinbeziehen
group_by(notOkJob, gender) %>%
mutate(Percentage=Nweighted/sum(Nweighted)*100) %>%
filter(var.code == 1) %>%
mutate(jobDiskr = case_when(
notOkJob %in% "notOkJob_SQ001" ~ "Kompliment zur Kleidung",
notOkJob %in% "notOkJob_SQ002" ~ "Kompliment zum Äussern",
notOkJob %in% "notOkJob_SQ003" ~ "Körperbetonte Kleidung tragen",
notOkJob %in% "notOkJob_SQ004" ~ "Fragen nach sexueller Orientierung",
notOkJob %in% "notOkJob_SQ005" ~ "Fragen nach Beziehungsstatus",
notOkJob %in% "notOkJob_SQ006" ~ "Berührung\nam Arm, Schultern, Rücken",
notOkJob %in% "notOkJob_SQ007" ~ "Berührung von Taille, Bauch",
notOkJob %in% "notOkJob_SQ008" ~ "Flirten im Büro",
notOkJob %in% "notOkJob_SQ009" ~ "Feuchtfröhliche Betriebsfeiern",
notOkJob %in% "notOkJob_SQ010" ~ "Mit Arbeitskolleg:innen über Körper/Aussehen\nvon Arbeitskolleg:innen sprechen",
notOkJob %in% "notOkJob_SQ011" ~ "Mit anderen über das Sexleben\nvon Arbeitskolleg:in sprechen",
notOkJob %in% "notOkJob_SQ012" ~ "Frage nach Schwangerschaft oder\nFamilienplanung von Arbeitskolleg:innen",
notOkJob %in% "notOkJob_SQ013" ~ "Frage nach Schwangerschaft oder\nFamilienplanung von Untergebenen",
notOkJob %in% "notOkJob_SQ014" ~ "Frage nach Schwangerschaft oder\nFamilienplanung beim Vorstellungsgespräch",
notOkJob %in% "notOkJob_SQXXX" ~ "Nichts davon"
))
annabeau_diskr_junge <- annabeau_diskr_partei %>%
filter(age_groups != "46 bis 60" & age_groups != "61 bis 75" & age_groups != "76 und älter") %>%
filter(jobDiskr == "Kompliment zum Äussern" | jobDiskr == "Flirten im Büro" | jobDiskr == "Berührung\nam Arm, Schultern, Rücken")
9 Annajetzt - Diskriminierende Handlungen nach
Parteizuordnungen
level_order_aj_party <- c('Sexualisierte\nSprüche und Witze',
'Diskriminierung auf\n Grund des Geschlechts',
'Sexuelle Belästigung\n durch Arbeitskolleg:innen')
text_u30 <- data.frame(
label = c("16 bis 30 J.", "", ""),
jobDiskr = c('Sexualisierte\nSprüche und Witze',
'Diskriminierung auf\n Grund des Geschlechts',
'Sexuelle Belästigung\n durch Arbeitskolleg:innen'),
x = c(1.8, 1.8, 1.8),
y = c(0.03, 0.03, 0.03)
)
text_31_45 <- data.frame(
label = c("31 bis 45 J.", "", ""),
jobDiskr = c('Sexualisierte\nSprüche und Witze',
'Diskriminierung auf\n Grund des Geschlechts',
'Sexuelle Belästigung\n durch Arbeitskolleg:innen'),
x = c(2.15, 2.15, 2.15),
y = c(0.08, 0.08, 0.08)
)
frauen_erfahrungen_partei <- ggplot(annajetzt_diskr_junge, aes(x = factor(party, level = rev(c("Links", "Mitte", "Rechts"))),
y = (Percentage/100))) +
geom_line(aes(group = party)) +
geom_point(aes(color = age_groups))+
scale_color_manual(values = c("16 bis 30" = "#54278f", "31 bis 45" = "#9e9ac8"))+
scale_y_continuous(limits = c(0,0.2), breaks = seq(0, 1, by = 0.1),
labels = scales::percent, expand = expansion(mult = c(0, 0.05)))+
#guides(color = guide_legend(title = "Altersgruppen\n(in Jahren)", reverse = TRUE))+
coord_flip()+
ylab("")+
xlab("")+
ggtitle("Frauen, die sich eher politisch links orientieren, fühlen sich am Arbeitsplatz\nöfter diskriminiert als gleichaltrige, politisch rechts orientierte Kolleginnen",
subtitle = "Erfahrungen, die Frauen in ihrem bisherigen Erwerbsleben am Arbeitsplatz gemacht haben, nach politischer Orientierung") +
labs(caption = "Daten: sotomo")+
facet_wrap(~ factor(jobDiskr, level = level_order_aj_party), scales = "free_y")+
geom_text(
data = text_u30,
mapping = aes(x = x, y = y, label = label),
color = "#54278f", size = 3, fontface = "bold")+
geom_text(
data = text_31_45,
mapping = aes(x = x, y = y, label = label),
color = "#9e9ac8", size = 3, fontface = "bold")+
theme_sbl+
theme(strip.background = element_blank(),
strip.text = element_text(face = "bold.italic", size = 10),
panel.spacing=unit(1,"lines"),
legend.position = "none",
plot.title = element_text(size=17),
plot.subtitle = element_text(size = 12),
plot.caption = element_text(face = "italic"))
frauen_erfahrungen_partei
ggsave(frauen_erfahrungen_partei, filename = "frauen_erfahrungen_partei_neu.png", width = 0.5*20, height = 0.5*9)
10 - Annabeau - Potenziell diskriminierende Handlungen nach
Partei
level_order_ab_party <- c('Kompliment zum Äussern',
'Berührung\nam Arm, Schultern, Rücken',
'Flirten im Büro')
text_u30_m <- data.frame(
label = c("16 bis 30 J.", "", ""),
jobDiskr = c('Kompliment zum Äussern',
'Berührung\nam Arm, Schultern, Rücken',
'Flirten im Büro'),
x = c(2.15, 2.15, 2.15),
y = c(0.03, 0.03, 0.03)
)
text_31_45_m <- data.frame(
label = c("31 bis 45 J.", "", ""),
jobDiskr = c('Kompliment zum Äussern',
'Berührung\nam Arm, Schultern, Rücken',
'Flirten im Büro'),
x = c(1.85, 1.85, 1.85),
y = c(0.06, 0.06, 0.06)
)
maenner_ok_partei <- ggplot(annabeau_diskr_junge, aes(x = factor(party, level = rev(c("Links", "Mitte", "Rechts"))),
y = (Percentage/100))) +
geom_line(aes(group = party)) +
geom_point(aes(color = age_groups))+
scale_color_manual(values = c("16 bis 30" = "#006d2c", "31 bis 45" = "#74c476"))+
scale_y_continuous(limits = c(0,0.2), breaks = seq(0, 1, by = 0.1),
labels = scales::percent, expand = expansion(mult = c(0, 0.05)))+
#guides(color = guide_legend(title = "Altersgruppen\n(in Jahren)", reverse = TRUE))+
coord_flip()+
ylab("")+
xlab("")+
ggtitle("Politisch links orientierte Männer finden sexualisiertes Verhalten am Arbeitsplatz\ngleich oder eher in Ordnung als gleichaltrige mitte- oder rechts-orientierte Männer",
subtitle = "Einschätzung potenziell diskriminierender Handlungen am Arbeitsplatz als 'völlig in Ordnung', nach Parteiorientierung") +
labs(caption = "Daten: sotomo")+
facet_wrap(~ factor(jobDiskr, level = level_order_ab_party), scales = "free_y")+
geom_text(
data = text_u30_m,
mapping = aes(x = x, y = y, label = label),
color = "#006d2c", size = 3, fontface = "bold")+
geom_text(
data = text_31_45_m,
mapping = aes(x = x, y = y, label = label),
color = "#74c476", size = 3, fontface = "bold")+
theme_sbl+
theme(strip.background = element_blank(),
strip.text = element_text(face = "bold.italic", size = 10),
panel.spacing=unit(1,"lines"),
legend.position = "none",
plot.title = element_text(size=17),
plot.subtitle = element_text(size = 12),
plot.caption = element_text(face = "italic"))
maenner_ok_partei
ggsave(maenner_ok_partei, filename = "maenner_ok_partei_neu.png", width = 0.5*20, height = 0.5*9)