Βασιζόμενος σε δημοσιευμένες αγγελίες, αναζητώ την έκταση του φαινομένου των διακρίσεων με βάση το φύλο, τη φυλή και την ηλικία του καθενός. [Υπό επεξεργασία]
R
Περιγραφικη αναλυση
Συγγραφέας

stesiam

Δημοσιευμένο

30 Δεκεμβρίου 2025

Εισαγωγή

Η αναζήτηση εργασίας είναι το επόμενο βήμα στη ζωή ενός πρόσφατου απόφοιτου. Έτσι και εγώ έχω ξεκινήσει εδώ και κάμποσο καιρό να αναζητώ μία εργασία. Αυτό το διάστημα που έμπαινα σε καθημερινή βάση παρατηρούσα έναν σημαντικό αριθμό αγγελιών οι οποίες έθεταν αρκετά αμφιλεγόμενους όρους. Από τη μία μεριά μπορεί κάποιος να ισχυριστεί ότι μπορεί ο εκάστοτε εργοδότης να θέτει τις δικές του προυποθέσεις για το προσωπικό που θα απαρτίζει την επιχε´ρησή του. Αυτό είναι αποκλύτως λογικό. Το πρόβλημα ξεκινάει όταν υπάρχουν όροι το προσωπικό μας να έχει κάποιο συγκεκριμένα χαρακτηριστικά τα οποία είναι έμφυτα, γεννιόμαστε με αυτά και (ως επί το πλείστον) δεν μπροούμε να τα αλλάξουμε. Φύλο, εθνικότητα, ηλικία ή ακόμα και γονίδια «ομορφιάς» είνα μερικές σχετικές απαιτήσεις που θα διαβάσουμε σε αρκετές αγγελίες. Προφανώς τα παραπάνω αποτελούν σοβαρές μορφές διακρίσεων οι οποίες κυριαρχούν ακόμα και σήμερα.

Οι διακρίσεις στον εργασιακό χώρο είναι δεδομένες και μη αμφισβητούμενες.

Show the code
data = readr::read_csv("https://github.com/stesiam/scraping-job-postings-xe/releases/download/v1.2/job-posts.csv")
data = data %>%
  select(spc, type, wage, loc, exp, descr, p_date)
Show the code
months_gr <- c(
    "Ιανουαριου" = "January",
    "Φεβρουαριου" = "February",
    "Μαρτιου" = "March",
    "Απριλιου" = "April",
    "Μαιου" = "May",
    "Μαΐου" = "May",
    "Ιουνιου" = "June",
    "Ιουλιου" = "July",
    "Αυγουστου" = "August",
    "Σεπτεμβριου" = "September",
    "Οκτωβριου" = "October",
    "Νοεμβριου" = "November",
    "Δεκεμβριου" = "December"
)

clean_data = data %>% 
    mutate(type = tolower(type)) %>%
    mutate(workingHours = case_when(
      str_detect(type, "πλήρης") ~ "Πλήρης",
      str_detect(type, "μερική")  ~ "Μερική",
      .default = "Αδιευκρίνιστο")
    ) %>%
    mutate(presence = case_when(
      str_detect(type, "φυσική") ~ "Φυσική",
      str_detect(type, "υβριδική")  ~ "Υβριδική",
      str_detect(type, "αποστάσεως")  ~ "Εξ' αποστάσεως",
      .default = "Αδιευκρίνιστο")
    ) %>%
     mutate(contractType = case_when(
      str_detect(type, "αορίστου") ~ "Αορίστου χρόνου",
      str_detect(type, "ορισμένου")  ~ "Ορισμένου χρόνου",
      .default = "Αδιευκρίνιστο")
    ) %>%
  select(-type) %>%
  relocate(workingHours, presence, contractType, .after = spc) %>%
   mutate(exp = case_when(
      str_detect(exp, "Δεν απαιτείται") ~ "0-1",
      str_detect(exp, "Λιγότερο από 1 έτος")  ~ "0-1",
      str_detect(exp, "1-2 έτη") ~ "1-2",
      str_detect(exp, "2-3 έτη")  ~ "2-3",
      str_detect(exp, "3-5 έτη") ~ "3-5",
      str_detect(exp, "5-10 έτη")  ~ "5-10",
      .default = NA)
    ) %>%
  relocate(exp, .after = contractType) %>%
  mutate(
        date = p_date %>%
            str_remove("^[^ ]+\\s+") %>%     # remove weekday
            str_to_lower() %>%               # lowercase
            stringi::stri_trans_general("NFD; [:Nonspacing Mark:] Remove; NFC") %>% 
            str_replace_all(months_gr) %>%   # translate months
            str_squish() %>%
            dmy()
    ) %>%
  select(-p_date)
Warning: There was 1 warning in `mutate()`.
ℹ In argument: `date = `%>%`(...)`.
Caused by warning:
! All formats failed to parse. No formats found.
Show the code
clean_data = clean_data %>%
  mutate(
    exp = fct_relevel(
        exp,
        "0-1", "1-2", "2-3", "3-5", "5-10"
))

Περιγραφικά στοιχεία

Show the code
t = table(clean_data$exp)
v=t %>% as.data.frame() |>
  mutate(pct = 100* (Freq / sum(Freq)) ) |>
  mutate( pct = round(pct, 1))

data_points <- list_parse(
  data.frame(
    y = v$pct,            # y-axis value
    category = v$Var1,     # optional, but explicit
    freq = v$Freq
  )
)

highchart() |>
    hc_chart(
        type = "column"    ) |>
    hc_title(
        text = "Απαιτούμενη προϋπηρεσία",
        style = list(fontSize = "18px", fontWeight = "bold")
    ) |>
    hc_subtitle(
        text = "Εργασιακή εμπειρία (σε έτη)",
        style = list(color = "#666666")
    ) |>
    hc_xAxis(
        categories = v$Var1,
        tickLength = 0,
        lineWidth = 0
    ) |>
    hc_yAxis(
        title = list(text = "Παρατηρήσεις"),
        gridLineColor = "none"
    ) |>
    hc_add_series(
        name = "Πλήθος",
        data = data_points
    ) |>
    hc_plotOptions(
        column = list(
            borderWidth = 00
        )
    ) |>
    hc_tooltip(
    useHTML = TRUE,
    headerFormat = "",
    pointFormat = paste0(
      "<b>Έτη εμπειρίας:</b> {point.category}<br>",
      "<b>Ποσοστό θέσεων:</b> {point.y} %<br>",
      "<b>Πλήθος θέσεων:</b> {point.freq}"
    )
  ) |>
    hc_legend(enabled = FALSE)
Show the code
freqWorkingHours = table(clean_data$workingHours) %>%
  as.data.frame()


highchart() %>%
    hc_chart(
        type = "pie",
        backgroundColor = "transparent"
    ) %>%
    hc_title(
        text = "Κατανομή θέσεων ανά ωράριο εργασίας",
        style = list(
            fontSize = "18px",
            fontWeight = "bold"
        )
    ) %>%
    hc_subtitle(
        text = "Αριθμός πρατηρήσεων και ποσοστό (%) επί του συνόλου των αγγελιών",
        style = list(fontSize = "12px")
    ) %>%
    hc_add_series(
        name = "Percentage",
        data = freqWorkingHours %>%
            mutate(y = Freq, name = Var1) %>%
            select(name, y) %>%
            list_parse(),
        size = "80%",
        innerSize = "50%",   # donut style (remove if you want classic pie)
        dataLabels = list(
            enabled = TRUE,
            format = "<b>{point.name}</b>: {point.percentage:.1f} %",
            style = list(fontSize = "11px")
        )
    ) %>%
    hc_tooltip(
        pointFormat = "<b>{point.y}</b> θέσεις εργασίας <br><b>Ποσοστό:</b> {point.percentage:.1f}%"
    ) %>%
    hc_plotOptions(
        pie = list(
            allowPointSelect = TRUE,
            cursor = "pointer",
            borderWidth = 0,
            showInLegend = TRUE
        )
    ) %>%
    hc_legend(
        align = "center",
        verticalAlign = "bottom",
        layout = "horizontal"
    ) %>%
    hc_colors(c(
        "#2E86AB", "#A23B72", "#F18F01", "#C73E1D"
    )) %>%
    hc_credits(enabled = FALSE)
Show the code
freqWorkingHours = table(clean_data$contractType) %>%
  as.data.frame()


highchart() %>%
    hc_chart(
        type = "pie",
        backgroundColor = "transparent"
    ) %>%
    hc_title(
        text = "Κατανομή θέσεων ανά ωράριο εργασίας",
        style = list(
            fontSize = "18px",
            fontWeight = "bold"
        )
    ) %>%
    hc_subtitle(
        text = "Αριθμός πρατηρήσεων και ποσοστό (%) επί του συνόλου των αγγελιών",
        style = list(fontSize = "12px")
    ) %>%
    hc_add_series(
        name = "Percentage",
        data = freqWorkingHours %>%
            mutate(y = Freq, name = Var1) %>%
            select(name, y) %>%
            list_parse(),
        size = "80%",
        innerSize = "50%",   # donut style (remove if you want classic pie)
        dataLabels = list(
            enabled = TRUE,
            format = "<b>{point.name}</b>: {point.percentage:.1f} %",
            style = list(fontSize = "11px")
        )
    ) %>%
    hc_tooltip(
        pointFormat = "<b>{point.y}</b> θέσεις εργασίας <br><b>Ποσοστό:</b> {point.percentage:.1f}%"
    ) %>%
    hc_plotOptions(
        pie = list(
            allowPointSelect = TRUE,
            cursor = "pointer",
            borderWidth = 0,
            showInLegend = TRUE
        )
    ) %>%
    hc_legend(
        align = "center",
        verticalAlign = "bottom",
        layout = "horizontal"
    ) %>%
    hc_colors(c(
        "#2E86AB", "#A23B72", "#F18F01", "#C73E1D"
    )) %>%
    hc_credits(enabled = FALSE)
Show the code
freqWorkingHours = table(clean_data$presence) %>%
  as.data.frame()


highchart() %>%
    hc_chart(
        type = "pie",
        backgroundColor = "transparent"
    ) %>%
    hc_title(
        text = "Κατανομή θέσεων ανά ωράριο εργασίας",
        style = list(
            fontSize = "18px",
            fontWeight = "bold"
        )
    ) %>%
    hc_subtitle(
        text = "Αριθμός πρατηρήσεων και ποσοστό (%) επί του συνόλου των αγγελιών",
        style = list(fontSize = "12px")
    ) %>%
    hc_add_series(
        name = "Percentage",
        data = freqWorkingHours %>%
            mutate(y = Freq, name = Var1) %>%
            select(name, y) %>%
            list_parse(),
        size = "80%",
        innerSize = "50%",   # donut style (remove if you want classic pie)
        dataLabels = list(
            enabled = TRUE,
            format = "<b>{point.name}</b>: {point.percentage:.1f} %",
            style = list(fontSize = "11px")
        )
    ) %>%
    hc_tooltip(
        pointFormat = "<b>{point.y}</b> θέσεις εργασίας <br><b>Ποσοστό:</b> {point.percentage:.1f}%"
    ) %>%
    hc_plotOptions(
        pie = list(
            allowPointSelect = TRUE,
            cursor = "pointer",
            borderWidth = 0,
            showInLegend = TRUE
        )
    ) %>%
    hc_legend(
        align = "center",
        verticalAlign = "bottom",
        layout = "horizontal"
    ) %>%
    hc_colors(c(
        "#2E86AB", "#A23B72", "#F18F01", "#C73E1D"
    )) %>%
    hc_credits(enabled = FALSE)

Μεθοδολογία πειράματος

Εφαρμογή

Αποτελέσματα

Gagolewski, M. (2022). stringi: Fast and portable character string processing in R. Journal of Statistical Software, 103(2), 1–59. https://doi.org/10.18637/jss.v103.i02
Gagolewski, M. (2025). stringi: Fast and Portable Character String Processing Facilities. Ανακτήθηκε από https://stringi.gagolewski.com/
Grolemund, G., & Wickham, H. (2011). Dates and Times Made Easy with lubridate. Journal of Statistical Software, 40(3), 1–25. Ανακτήθηκε από https://www.jstatsoft.org/v40/i03/
Kunst, J. (2022). highcharter: A Wrapper for the Highcharts Library. Ανακτήθηκε από https://jkunst.com/highcharter/
R Core Team. (2025). R: A Language and Environment for Statistical Computing. Vienna, Austria: R Foundation for Statistical Computing. Ανακτήθηκε από https://www.R-project.org/
Spinu, V., Grolemund, G., & Wickham, H. (2024). lubridate: Make Dealing with Dates a Little Easier. Ανακτήθηκε από https://lubridate.tidyverse.org
Wickham, H. (2023a). forcats: Tools for Working with Categorical Variables (Factors). Ανακτήθηκε από https://forcats.tidyverse.org/
Wickham, H. (2023b). stringr: Simple, Consistent Wrappers for Common String Operations. Ανακτήθηκε από https://stringr.tidyverse.org
Wickham, H., François, R., Henry, L., Müller, K., & Vaughan, D. (2023). dplyr: A Grammar of Data Manipulation. Ανακτήθηκε από https://dplyr.tidyverse.org
Wickham, H., Hester, J., & Bryan, J. (2024). readr: Read Rectangular Text Data. Ανακτήθηκε από https://readr.tidyverse.org

Αναφορά

Αναφορά BibTeX:
@online{2025,
  author = {, stesiam},
  title = {Διακρίσεις στην εργασία},
  date = {2025-12-30},
  url = {https://stesiam.com/el/posts/workplace-discrimination/},
  langid = {el}
}
Για απόδοση ευγνωμοσύνης, παρακαλούμε αναφερθείτε σε αυτό το έργο ως:
stesiam. (2025, December 30). Διακρίσεις στην εργασία. Retrieved from https://stesiam.com/el/posts/workplace-discrimination/