Sind schon bereinigt. Achtung brauche ski2!
ski1 <- read.csv("ski2.csv")
Achtung für diese Analyse wurden alle Artikel selektioniert in welchen SkimeisterInnen der letzten 20 Jahren erwähnt wurden. Die Artikel ganz einem Geschlecht zuzuteilen ist extrem schwirig, den öfters werden mehrere Sportler erwähnt. Deswegen fokussiert die Analyse auf die SkimeisterInnen (anhand dieser namen wurden die Artikel gefiltert). Wird ein Skimeister erwähnt steht bei der Variable mann ein 1 (wenn nicht 0). Wird eine Skimeisterin im Artikel erwähnt sthet bei der Variable frau eine 1 (wenn nicht 0). Werden im gleichen Artikel einen Skimeister und eine Skimeisterin erwähnt steht bei frau sowie bei mann eine 1.
\(\bullet\) Total von 35701 Artikeln wo SkimeisterInnen erwähnt werden
tabyl(ski1$mann)
tabyl(ski1$frau)
x <- data.frame(total = length(ski1$id),
frau = length(ski1$id[ski1$frau == 1]),
mann = length(ski1$id[ski1$mann == 1]),
frau.only = length(ski1$id[ski1$mann == 0]),
mann.only = length(ski1$id[ski1$frau == 0]))
x <- x %>%
mutate(frau.percent = frau/total * 100,
mann.percent = mann/total * 100,
frau.only.percent = frau.only/total * 100,
mann.only.percent = mann.only/total * 100)
Colors
gender_colors <- c(frau = "#008081", mann = "#FD7601")
Als stacked Barplot:
df_stackedplot <- ski1 %>%
mutate(sex = ifelse(mann == 0, "frau", ifelse(frau == 0, "mann", "both"))) %>%
mutate(dummy = 1)
df_stackedplot$sex <- factor(df_stackedplot$sex, levels=c('mann', 'both', 'frau'))
ggplot(df_stackedplot, aes(y=dummy, fill=sex)) +
geom_bar_pattern(aes(fill=sex, pattern=sex, pattern_type=sex),
pattern_fill="#FD7601",
pattern_colour="#FD7601",
pattern_size=0.8,
pattern_spacing=0.04) +
scale_fill_manual(values = c(mann = "#FD7601", frau = "#008081", both = "#008081")) +
scale_pattern_manual(values=c("none", 'stripe', 'none')) +
scale_pattern_type_manual(values = c(NA, NA, NA)) +
theme_minimal() +
ggplot2::annotate("text", x = 27000, y = 1, label = "51%", color ="white") +
theme(axis.title.y = element_blank(),
axis.text.y = element_blank(),
axis.title.x = element_blank(),
axis.text.x = element_blank(),
axis.ticks.y = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
legend.position = "none")
Als Euler Diagramm:
test <- list(Männer = ski1$id[ski1$mann==1],
Frauen = ski1$id[ski1$frau==1])
test_percent <- c(Männer = 51, Frauen = 35, "Männer&Frauen" = 14)
euler_plot <- plot(euler(test_percent),
quantities = list(type = c("percent"), cex=1.5),
alpha = 0.8, c("#FD7601", "#008081"),
alpha = 0.4,
fills = c("#FD7601", "#008081"),
edges=list(lty = 0),
labels=list(labels=c("Skifahrer", "Skifahrerinnen"), cex=1.5),
factor_names = TRUE)
euler_plot
ggplot() +
theme_void() +
theme(plot.margin = margin(10, 10, 10, 10, "pt"),
plot.title = element_text(hjust = 0, size = 18, face = "bold"),
plot.subtitle = element_text(hjust = 0, size = 16),
text = element_text(size = 12, family = "Futura Bk BT"),
legend.text = element_text(size = 25)
) +
annotation_custom(grob = grid::grobTree(grob = euler_plot),
xmin = -Inf, xmax = Inf, ymin = -Inf, ymax = Inf) +
coord_cartesian(clip = "off") +
xlim(c(-1.1, 1.1)) +
ylim(c(-1.1, 1.1)) +
labs(title = "Skifahrerinnen werden in den Medien weniger oft erwähnt als Skifahrer",
subtitle = "Anteil Artikel, welche SkimeisterInnen erwähnen",
caption = "Daten: SWISSDOX@LiRI")
Als Linienplot:
df_timetrend <- ski1 %>%
filter(!(frau == 1 & mann == 1)) %>%
group_by(jahr) %>%
summarise(total = n() , Frauen = sum(frau)/total, Männer = sum(mann)/total) %>%
pivot_longer(!jahr, names_to = "measure", values_to = "percent")
gender_colors <- c("#008081","#FD7601")
plot_frequency <- df_timetrend %>%
filter(jahr <2023) %>%
filter(!grepl("total", measure))%>%
ggplot(aes(x = jahr, y = percent*100, color = measure, fill = measure)) +
geom_line(alpha = 0.5) +
geom_point(size = 4) +
geom_hline(yintercept = 50, color = "black", linetype = "dashed") +
scale_color_manual(values = gender_colors) +
scale_fill_manual(values = gender_colors) +
scale_y_continuous(limits = c(0, 100),
breaks = seq(0,100, by =10),
labels = function(x) paste0(x , "%")) +
scale_x_continuous(breaks = unique(df_timetrend$jahr), labels = unique(df_timetrend$jahr)) +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 0.7),
axis.title = element_text(size = 14, family = "Futura Bk BT"),
axis.text = element_text(size = 12, family = "Futura Bk BT"),
text = element_text(size = 12, family = "Futura Bk BT"),
panel.grid.minor.x = element_blank(),
legend.position = c(0.8, 0.9),
legend.justification = c(0.5, 1),
legend.title = element_blank(),
legend.text = element_text(size = 12),
legend.background = element_blank(),
plot.title = element_text(hjust = 0, size = 18, face = "bold"),
plot.subtitle = element_text(hjust = 0, size = 16),
panel.grid.minor = element_blank(),
panel.grid.major.y = element_line(color = "gray70", size = 0.5, linetype = "dashed"),
panel.grid.major.x = element_blank(),
axis.title.y = element_text(margin = margin(r = 15))) +
labs(title = "Nur 2016 wurden Skimeisterinnen in mehr Artikeln erwähnt als Skimeister",
subtitle = "Anteil Artikel, welche SkimeisterInnen erwähnen",
x = "Jahr",
y = "Anteil der Erwähnungen",
caption = "Daten: SWISSDOX@LiRI")
plot_frequency