Εισαγωγή
Το άρθρο αναμένεται να ενημερώνεται συχνά, μέχρις ότου αναιρεθεί αυτή η σημείωση.
Σε αυτό το άρθρο θα ήθελα να αναλύσω τα δεδομένα των φοιτητών στο τμήμα μου, Στατιστική και Ασφαλιστική στο Πειραιά. Ο πρόσφατος οδηγός σπουδών περιλαμβάνει δεδομένα σχετικά με όσους επιβιώνουν (αποφοιτούν) από τη σχολή όπως το μέσο βαθμό αποφοίτησης και τα έτη που χρειάστηκαν για αυτή. Αρχικά, παρατηρούμε ότι τα δεδομένα για τα οποία ενδιαφερόμαστε είναι σε μία σχετικά οργανωμένη μορφή, σε πίνακες (το οποίο είναι καλό 😀), βέβαια δεν τα έχουμε σε μορφή αρχείου, αλλά είναι μέρος ενός αρχείου pdf (το οποίο δεν είναι καλό 😢). Ευτυχώς, ανάμεσα σε αυτό το χάος 20,000 και πλέον πακέτων υπάρχει και το πακέτο tabulizer που δίνει τη λύση σε τέτοιου είδους προβλήματα μιας και μπορεί να διαβάσει τους πίνακες εντός αρχείων pdf.
Το άρθρο είναι λίγο παλιό. Το πακέτο όταν είχα γράψει αυτό το άρθρο λεγόταν tabulizer
. Λίγα χρόνια αργότερα, όταν επιχείρησα να κάνω μερικές αλλαγές παρατήρησα ένα σφάλμα στο συγκεκριμένο άρθρο. Το πακέτο πλέον έχει μετονομαστεί και μπορείτε να το βρείτε ως tabulapdf
. Επομένως, προσέξτε το καθώς διάφορες πηγές στο διαδίκτυο ακόμα αναφέρονται σε αυτό με το παλιό όνομα.
Εισαγωγή βιβλιοθηκών
Όπως εξηγήσαμε και προηγουμένως, δεδομένου ότι θα πρέπει να εξάγω δεδομένα και δει πίνακες από αρχείο pdf, το πακέτο tabulizer (νυν tabulapdf
) είναι απαραίτητο. Δυστυχώς, καθώς προσπαθούσα να το εγκαταστήσω λάμβανα συνεχώς ένα μήνυμα σφάλματος παρόμοιο με αυτό. Το πρόβλημα φαίνεται να σχετιζόταν με το πακέτο rJava
και προκειμένου να επιλύσω το πρόβλημα ακολούθησα τις επισημάνσεις αυτού του σχολίου. Έπειτα την εγκατάσταση του rJava, κατάφερα να εγκαταστήσω το πακέτο ως εξής:
Εξαγωγή δεδομένων
Ο οδηγός σπουδών ξεκινάει δίνοντας κάποιες πληροφορίες για το πανεπιστήμιο, συνεχίζει με βασικά στοιχεία της σχολής το εκπαιδευτικό προσωπικό, τις προϋποθέσεις για τη λήψη πτυχίου και συνεχίζεται με αναλυτικότερα περιγραφή κάθε μαθήματος του τμήματος. Στο τέλος του οδηγού σπουδών του τμήματός μας έχει καθιερωθεί να δημοσιεύονται κάποια βασικά στατιστικά στοιχεία των φοιτητών. Θα ασχοληθούμε με τον πρόσφατα αναρτημένο οδηγό σπουδών του 2022, όπου περιέχει δεδομένα των εισαγωγών στο τμήμα, των αποφοίτων, της δομής των σπουδαστών και άλλα δεδομένα από το 2004. Όπως είναι εμφανές απλά μας ενδιαφέρουν οι τελευταίες σελίδες, από έναν πολυσέλιδο οδηγό σπουδών μιας και αποτελείται από 200 σελίδες. Θα ξεκινήσουμε κατεβάζοντας τον οδηγό από τον δοσμένο σύνδεσμο και στη συνέχεια θα επιλέξω με τη βοήθεια του πακέτου pdftools
τις τελευταίες σελίδες, από την 186η μέχρι την 190η σελίδα, ώστε να εξαγάγω στη συνέχεια μόνο τους απαραίτητους πίνακες.
Δείξε τον κώδικα
url = "https://www.unipi.gr/faculty/mbouts/anak/OS_22_23.pdf"
download.file(url,
destfile = "sg22.pdf",
method = "wget",
extra = "--no-check-certificate")
pdf_subset('sg22.pdf',
pages = 186:190, output = "subset.pdf")
Αυτός ο περιορισμός είναι αρκετά σημαντικός έτσι ώστε να μειώσω το διάστημα αναζήτησης για τους πίνακες, συνεπώς έχω μια πιο γρήγορη εκτέλεση της εντολής (5 σελίδες αντί για 200). Στη συνέχεια αναλαμβάνει έργο το πακέτο tabulapdf
από το οποίο θα χρειαστούμε την εντολή extract_tables που συλλέγει όλους τους πίνακες από ένα pdf και τους συγκεντρώνει σε μία λίστα. Στη δικιά μας περίπτωση εντοπίστηκαν πέντε πίνακες συνεπώς έλαβα ως αποτέλεσμα μία λίστα που περιείχε πέντε data.frames - πίνακες δεδομένων.. Είναι εκπληκτικό ότι μέσα σε λίγα δευτεόλεπτα έλαβα όλη τη πληροφορία σε μία μορφή έτοιμη για ανάλυση. Αν προσπαθούσα να εισάγω τα δεδομένα με πιο παραδοσιακούς τρόπους, όπως αντιγραφή - επικόλληση θα είχα ξοδέψει πάνω από 1 ώρα!
Δείξε τον κώδικα
statistics_tables <- extract_tables(
file = "subset.pdf",
method = "decide",
output = "tibble")
Εισακτέοι φοιτητές
Ο πρώτος πίνακας που έχω λάβει είναι σχετικά με τους εισακτέους φοιτητές, δηλαδή με όσους επιτυγχάνουν να εγγραφούν στη σχολή. Για να εγγραφείς σε μία σχολή υπάρχουν τρεις βασικού τρόποι. Ο πρώτος και ο πιο διαδεδομένος τρόπος είναι μέσω Πανελληνίων εξετάσεων, όπου διαγωνίζεσαι με όλους τους μαθητές της Γ Λυκείου για την εισαγωγή στη τριτοβάθμια εκπαίδευση. Ο δεύτερος τρόπος είναι αν είσαι ήδη πτυχιούχος, έχεις το δικαίωμα αντί να περάσεις το μαρτύριο των Πανελληνιών να δώσεις εξετάσεις στη σχολή που σε ενδιαφέρει. Συνήθως αυτές η εξετάσεις διοργανώνονται από την ίδια τη σχολή και όχι από το κράτος όπως στις πανελλήνιες και στις περισσότερες σχολές προγραμματίζονται τον Δεκέμβριο. Μία τρίτη επιλογή είναι να πάρεις μεταγραφή. Αν έχεις περάσει σε ένα τμήμα για το οποίο υπάρχει ένα ομοειδές σε άλλη πόλη μπορείς να ζητήσεις μεταγραφή σε άλλο τμήμα, ωστόσο οι θέσεις είναι περιορισμένες και τα κριτήρια πάρα πολύ αυστηρά. Αν θέλετε να διαβάσετε τη λίστα με τις αντιστοιχίες των σχολών μπορείτε να πατήσετε εδώ. Για παράδειγμα, στο τμήμα μας (Στατιστική, Πειραιά) ερχόντουσαν να παρακολουθήσουν μαθήματα φοιτητές του Στατιστικού του Πανεπιστημίου Αιγαίου στη Σάμο, μιας και ήλπιζαν ότι θα πάρουν μεταγραφή στο δικό μας τμήμα που είναι κοντά στην Αθήνα.
Δείξε τον κώδικα
nodes <- list(
list(id = "Main", name = "Τρόποι εισαγωγής"),
list(id = "Sub1", name = "Πανελλήνιες εξετάσεις"),
list(id = "Sub2", name = "Κατατακτήριες"),
list(id = "Sub3", name = "Μεταγραφή"),
list(id = "Sub1A", name = "ΕΠΑΛ"),
list(id = "Sub1B", name = "Λύκεια"),
list(id = "Sub3A", name = "Κριτηρίων"),
list(id = "Sub3B", name = "Αμοιβαία")
)
# Links
links <- list(
list(from = "Main", to = "Sub1"),
list(from = "Main", to = "Sub2"),
list(from = "Main", to = "Sub3"),
list(from = "Sub1", to = "Sub1A"),
list(from = "Sub1", to = "Sub1B"),
list(from = "Sub3", to = "Sub3A"),
list(from = "Sub3", to = "Sub3B")
)
# Modern Organization Chart
highchart() %>%
hc_chart(type = "organization", inverted = FALSE) %>%
hc_title(
text = "Τρόποι εισαγωγής στη τριτοβάθμια εκπαίδευση",
style = list(fontSize = "18px", fontWeight = "bold")
) %>%
hc_series(
list(
type = "organization",
keys = c("from", "to"),
data = links,
nodes = nodes,
colorByPoint = FALSE,
borderColor = "#E0E0E0",
borderWidth = 1,
nodeWidth = 80,
nodePadding = 20,
hangingIndent = 30,
levels = list(
list(level = 0, color = "#4e79a7", borderRadius = 6),
list(level = 1, color = "#f28e2b", borderRadius = 6),
list(level = 2, color = "#76b7b2", borderRadius = 6)
),
dataLabels = list(
align = "center",
verticalAlign = "middle",
style = list(fontSize = "13px", fontWeight = "bold", textOutline = "none"),
useHTML = TRUE,
formatter = JS("
function() {
let label = this.point.name;
// shrink font if text is too long for small screens
if (window.innerWidth < 500 && label.length > 8) {
return '<span style=\"font-size:11px\">' + label + '</span>';
}
return label;
}
")
)
)
) %>%
hc_plotOptions(
series = list(
states = list(
hover = list(
brightness = 0.1,
borderColor = '#333'
)
)
)
) %>%
hc_responsive(
rules = list(
list(
condition = list(maxWidth = 500),
chartOptions = list(
series = list(
nodeWidth = 70,
dataLabels = list(
style = list(fontSize = "11px", fontWeight = "normal")
)
)
)
)
)
)
Αφού κάναμε μία σύνοψη των τρόπων εισαγωγής στα τμήματα τριτοβάθμιας εκπαίδευσης ας δούμε τι ισχύει στο δικό μας τμήμα με βάση τα δημοσιευμένα στοιχεία.
Στη σχολή μας οι συνολικοί εισακτέοι από όλες τις κατηγορίες κυμαίνονταν στους 200 μέχρι 250 μέχρι το ακαδημαϊκό έτος 2012-2013. Τα επόμενα δύο έτη έσπασε το φράγμα των 250 εισακτέων. Στη συνέχεια η κατάσταση επανήλθε στα προαναφερόμενα όρια μέχρι το 2019, όπου είχαμε ιστορικό ρεκόρ εισαγωγών στο τμήμα με 292 εισακτέους. Μία σημαντική παρατήρηση που έκανα είναι πόσο όμοιο είναι το σχήμα της γραμμής μεταξύ και πόσο ταυτίζονται οι καμπύλες των συνολικών φοιτητών με αυτή των μεταγραφών, στην ουσία είναι ο απρόβλεπτος παράγοντας για την όποια ισχυρή διακύμανση των εισακτέων.
Δείξε τον κώδικα
colors <- c("rgba(52, 152, 219, 0.6)", # blue
"rgba(231, 76, 60, 0.6)", # red
"rgba(46, 204, 113, 0.6)", # green
"rgba(155, 89, 182, 0.6)") # purple
highchart() %>%
hc_chart(type = "areaspline") %>% # smooth stacked lines hc_title(text = "Stacked Line Chart Example") %>%
hc_xAxis(categories = admitted_students$Year) %>%
hc_yAxis(title = list(text = "Αριθμός φοιτητών")) %>%
hc_title(text = "Συνολικές εγγραφές φοιτητών ανά ακαδημαϊκό έτος") %>%
hc_subtitle(text = "Απόλυτος αριθμός εγγραφών με βάση την κατηγορία εισαγωγής") %>%
hc_colors(colors) %>% # apply custom colors
hc_plotOptions(
areaspline = list(
stacking = "normal",
marker = list(enabled = FALSE),
lineWidth = 2, # thicker smooth line
fillOpacity = 0.6 # subtle transparency
)) %>%
hc_add_series(name = "Πανελλήνιες", data = admitted_students$Main_exams) %>%
hc_add_series(name = "Μεταγραφή", data = admitted_students$Transfer) %>%
hc_add_series(name = "Κατατακτήριες", data = admitted_students$Entry_exams) %>%
hc_add_series(name = "Άλλο", data = admitted_students$Other) %>%
hc_tooltip(shared = TRUE)
Αφού μελετήσαμε στο Σχήμα 2 τις απόλυτες τιμές των επιτυχόντων. Ωστόσο, ο αριθμός των φοιτητών αυτή τη τελευταία 20ετία κυμαίνεται μεταξύ του 200 και του 300 που κάνει την σύγκριση μεταξύ των ετών δύσκολη. Έτσι θα υπολογίσω και τη ποσοστιαία συμμετοχή κάθε κατηγορίας ανά έτος. Ένα πολύ ενδιαφέρον στοιχείο είναι ότι κάποια ακαδημαϊκά έτη ο αριθμός των φοιτητών που εισήλθαν στο τμήμα εκτός Πανελληνίων Εξετάσεων προσέγγιζε το ένα τρίτο των συνολικών εγγραφών. Αυτό φαίνεται να έχει συμβεί σε δύο ακαδημαϊκά έτη, το 2010-2011 και το 2013-2014.
Δείξε τον κώδικα
colors <- c("rgba(52, 152, 219, 0.6)", # blue
"rgba(231, 76, 60, 0.6)", # red
"rgba(46, 204, 113, 0.6)", # green
"rgba(155, 89, 182, 0.6)") # purple
highchart() %>%
hc_chart(type = "areaspline") %>% # smooth stacked lines hc_title(text = "Stacked Line Chart Example") %>%
hc_xAxis(categories = admitted_students$Year) %>%
hc_yAxis(title = list(text = "Ποσοστό (%) φοιτητών")) %>%
hc_title(text = "Συνολικές εγγραφές φοιτητών ανά ακαδημαϊκό έτος") %>%
hc_subtitle(text = "") %>%
hc_subtitle(text = "") %>%
hc_colors(colors) %>% # apply custom colors
hc_plotOptions(
areaspline = list(
stacking = "percent",
marker = list(enabled = FALSE),
lineWidth = 2, # thicker smooth line
fillOpacity = 0.6 # subtle transparency
)) %>%
hc_add_series(name = "Πανελλήνιες", data = admitted_students$Main_exams) %>%
hc_add_series(name = "Μεταγραφή", data = admitted_students$Transfer) %>%
hc_add_series(name = "Κατατακτήριες", data = admitted_students$Entry_exams) %>%
hc_add_series(name = "Άλλο", data = admitted_students$Other) %>%
hc_tooltip(shared = TRUE)
Πληθυσμός φοιτητών
Δείξε τον κώδικα
f = statistics_tables[[2]] %>%
setNames(c("Year", "BSc", "MSc_A","MSc_B", "PhD")) %>%
drop_na() %>%
mutate(MSc_B = stringr::str_replace(MSc_B, "-", "0")) %>%
mutate(across(-Year, ~ as.integer(.))) %>%
mutate(MSc = MSc_A + MSc_B) %>%
mutate(PhDperBSc = round((PhD/BSc)*100, digits = 1)) %>%
mutate(PhDperMSc = round((PhD/MSc)*100, digits = 1))
Δείξε τον κώδικα
colors <- c("rgba(52, 152, 219, 0.6)", # blue
"rgba(231, 76, 60, 0.6)", # red
"rgba(46, 204, 113, 0.6)")
highchart() %>%
hc_chart(type = "areaspline") %>% # smooth stacked lines hc_title(text = "Stacked Line Chart Example") %>%
hc_xAxis(categories = admitted_students$Year) %>%
hc_yAxis(title = list(text = "Αριθμός φοιτητών")) %>%
hc_title(text = "Συνολικές εγγραφές φοιτητών ανά ακαδημαϊκό έτος") %>%
hc_subtitle(text = "Απόλυτος αριθμός εγγραφών με βάση την κατηγορία εισαγωγής") %>%
hc_colors(colors) %>% # apply custom colors
hc_plotOptions(
areaspline = list(
stacking = "normal",
marker = list(enabled = FALSE),
lineWidth = 2, # thicker smooth line
fillOpacity = 0.6 # subtle transparency
)) %>%
hc_add_series(name = "Προπτυχιακοί", data = f$BSc) %>%
hc_add_series(name = "Μεταπτυχιακοί", data = f$MSc) %>%
hc_add_series(name = "Διδακτορικοί", data = f$PhD) %>%
hc_tooltip(shared = TRUE)
Βέβαια το γράφημα δεν είναι αρκετά σαφές για τους φοιτητές εκτός των προυπτυχιακών μιας και το ποσοστό τους είναι συγκριτικά πολύ μικρότερο. Έτσι λοιπόν θα απομονώσω
Δείξε τον κώδικα
colors <- c("rgba(52, 152, 219, 0.6)", # blue
"rgba(231, 76, 60, 0.6)", # red
"rgba(46, 204, 113, 0.6)", # green
"rgba(155, 89, 182, 0.6)") # purple
highchart() %>%
hc_chart(type = "areaspline") %>% # smooth stacked lines hc_title(text = "Stacked Line Chart Example") %>%
hc_xAxis(categories = admitted_students$Year) %>%
hc_yAxis(title = list(text = "Αριθμός φοιτητών")) %>%
hc_title(text = "Αριθμός φοιτητών μεταπτυχιακών & διδακτορικών") %>%
hc_subtitle(text = "Απόλυτος αριθμός εγγραφών με βάση την κατηγορία εισαγωγής") %>%
hc_colors(colors) %>% # apply custom colors
hc_plotOptions(
areaspline = list(
stacking = "normal",
marker = list(enabled = FALSE),
lineWidth = 2, # thicker smooth line
fillOpacity = 0.6 # subtle transparency
)) %>%
hc_add_series(name = "Μεταπτυχιακό Εφαρμοσμένη Στατιστική", data = f$MSc_A) %>%
hc_add_series(name = "Μεταπτυχιακό Αναλογιστικά", data = f$MSc_B) %>%
hc_add_series(name = "Διδακτορικοί", data = f$PhD) %>%
hc_tooltip(shared = TRUE)
Κατανομή βαθμών αποφοίτησης
Όλα τα παραπάνω στοιχεία ήταν κατά κάποιο τρόπο δημογραφικά και δεν είχαν και κάποια ιδιαίτερη αξία. Πάμε λοιπόν να εξετάσουμε το πρώτο ενδιαφέρον στοιχείο που που είναι η κατανομή των βαθμών αποφοίτησης. Στα στοιχεία που δημοσιεύει το τμήμα οι βαθμοί έχουν χωριστεί σε τέσσερις κατηγορίες ανάλογα του βαθμού αποφοίτησης:
- Από τη βάση (5) μέχρι 6
- Από 6 εώς 7
- Από 7 μέχρι 8.5 και
- αυτοί που πήραν πάνω από 8.5
Από τα στοιχεία προκύπτει μία ιδιαίτερα ανισόρροπη κατανομή των βαθμών. Αρχικά παρατηρούμε ότι το ποσοστό των ατόμων που αποφοιτούν με <> είναι ιδιαίτερα μικρό που μετά βίας είναι ορατό στο διάγραμμα. Το ποσοστό των αποφοίτων με άριστα κυμαίνεται μεταξύ του 4.8% των συνολικών αποφοίτων του αντίστοιχου ακαδημαϊκού έτους έως και 0%, μιας και υπήρχαν έτη χωρίς αριστεύσαντες πτυχιούχους. Άλλο ένα προβληματικό στοιχείο είναι η αποφοίτηση με τους χαμηλότερους δυνατούς βαθμούς (κατηγορία βαθμών από 5 μέχρι 6), μιας και ιστορικά είχαμε τέτοια αποφοίτηση ακόμα για άνω του ένα τρίτου των συνολικών αποφοίτων. Βέβαια όλα τα παραπάνω είναι κατά κάποιο τρόπο λίγο αναμενόμενα σε συνάρτηση με τη δυσκολία της σχολής και του αντικειμένου. Αυτό που ενδεχομένως δηλώνει προβλήματα της ίδιας της σχολής είναι όταν χωρίσουμε τους βαθμούς σε δύο μεγάλες κατηγορίες, η μία οι φοιτητές που αποφοίτησαν με βαθμό άνω του 7 και η άλλη ομάδα όσοι αποφοίτησαν με βαθμό κάτω από 7. Εκεί παρατηρούμε επί σειρά ετών ότι οι απόφοιτοι της δεύτερης ομάδας αποτελούν το 80% και υπήρχαν πρόσφατα έτη που αποτελούσαν το 90% αυτών. Ενδεικτικά αναφέρονται τα ακαδημαϊκά έτη 2009-2010, 2012-2013, 2016-2017 & 2017-2018, ως κάποια με τις χειρότερες επιδόσεις.
Δείξε τον κώδικα
graduates_distr_grades = statistics_tables[[4]] %>%
setNames(c("Year", "5to6", "6to7", "7to8p5", "over8p5", "AVG")) %>%
drop_na() %>%
mutate(across(everything(), ~ str_remove(., "\\(.*\\)")),
across(everything(), ~ str_trim(.)),
across(everything(), ~ str_replace_all(.,pattern = ",",replacement = ".")),
across(-Year, ~ round(as.numeric(.), digits = 1)))
colors <- c(
"#E24A4A",
"#FF9090",
"#90C3FF",
"#4A90E2"
)
highchart() %>%
hc_chart(type = "areaspline") %>% # smooth stacked lines hc_title(text = "Stacked Line Chart Example") %>%
hc_xAxis(categories = graduates_distr_grades$Year) %>%
hc_yAxis(title = list(text = "Ποσοστό (%) φοιτητών")) %>%
hc_title(text = "Κατηγορίες βαθμών αποφοίτησης φοιτητών Στατιστικής") %>%
hc_subtitle(text = "Οι βαθμοί που κυριαρχούν είναι κάτω του 7, προσεγγίζοντας ακόμα και το 90%. Οι απόφοιτοι με βαθμό πτυχίου από 6 μέχρι και 7 είναι οι πιο συχνοί και καταλαμβάνουν το 55% με 70% των συνολικών αποφοίτων") %>%
hc_colors(colors) %>% # apply custom colors
hc_plotOptions(
areaspline = list(
stacking = "percent",
marker = list(enabled = FALSE),
lineWidth = 2, # thicker smooth line
fillOpacity = 0.6 # subtle transparency
)) %>%
hc_add_series(name = "Βαθμός 5-6", data = graduates_distr_grades$`5to6`) %>%
hc_add_series(name = "Βαθμός 6-7", data = graduates_distr_grades$`6to7`) %>%
hc_add_series(name = "Βαθμός 7-8.5", data = graduates_distr_grades$`7to8p5`) %>%
hc_add_series(name = "Βαθμός 8.5+", data = graduates_distr_grades$over8p5) %>%
hc_tooltip(shared = TRUE)
Κατανομή έτους αποφοίτησης
Ένας από τους πιο απογοητευτικούς δείκτες για το τμήμα μας είναι πόσα έτη χρειάζονται σε κάποιον για να αποφοιτήσει. Αυτός ο δείκτης είναι πλέον σημαντικός για πολλούς λόγους. Αρχικά η Ελλάδα έχει ψηφίσει πρόσφατα τη διαραφή των φοιτητών και πλέον υπάρχει όριο στη φοίτηση, το οποίο υπολογίζεται ως εξής:
n + \frac{n}{2}
όπου n είναι τα έτη που διαρκεί η φοίτηση. Στις περισσότερες σχολές η φοίτηση είναι τετραετής, με εξαίρεση τις πολυτεχνικές και τις ιατρικές όπου εκεί η φοίτηση έχει διάρκεια 5 ετών. Συνεπώς, με βάση τον παραπάνω κανόνα, το όριο φοίτησης για το τμήμα μας είναι 6 έτη. Όμως η πραγματικότητα είναι αρκετά πιο σκληρή. Το συγκεκριμένο τμήμα αποτελεί ένα από τα τμήματα με ιστορικά υψηλό ποσοστό φοιτητών που έχουν ξεπεράσει το ν+2 ως προς το ποσοστό του συνόλου των προτυχιακών του, με τα πρόσφατα στοιχεία της ΕΛΣΤΑΤ να κατατάσσουν το τμήμα Στατιστικής και Ασφαλιστικής του Πειραιά στην 35η θέση σε αυτό το δείκτη. Με βάση το παρακάτω γράφημα,
Δείξε τον κώδικα
graduate_data = statistics_tables[[5]] %>%
setNames(c("Year", "4Y", "5Y", "6Y", "7Y", "8Y", "9Y", "10Y", "11Y+","AVGY")) %>%
.[-c(1:2),] %>%
drop_na() %>%
dplyr::filter(Year != "2009-2022") %>%
mutate(across(contains("Y") & !matches("^Year$"), as.numeric)) %>%
mutate("4y" = `4Y`,
"4to6" = `5Y` + `6Y`,
"6to8" = `7Y` + `8Y`,
"9plus" = `9Y` + `10Y` + `11Y+`) %>%
select(Year, `4y`, `4to6`, `6to8`, `9plus`) %>%
mutate(
Year = stringr::str_replace(Year, ".*-", "")
)
Warning: There was 1 warning in `mutate()`.
ℹ In argument: `across(contains("Y") & !matches("^Year$"), as.numeric)`.
Caused by warning:
! NAs introduced by coercion
Δείξε τον κώδικα
colors <- c(
"#E24A4A",
"#FF9090",
"#90C3FF",
"#4A90E2"
)
highchart() %>%
hc_chart(type = "area") %>%
hc_title(text = "Κατανομή διάρκειας σπουδών μέχρι την αποφοίτηση") %>%
hc_subtitle(text = "Οι περισσότεροι φοιτητές ξεπερνάνε τα ν+2 έτη για να λάβουν πτυχίο!") %>%
hc_caption(text = "stesiam, 2023") %>%
hc_xAxis(categories = graduate_data$Year,
title = NULL) %>%
hc_yAxis(title = list(text = "Percentage (%)")) %>%
hc_tooltip(shared = TRUE) %>%
hc_add_series(name = "9 έτη και πάνω", data = graduate_data$`9plus`) %>%
hc_add_series(name = "7-8 έτη", data = graduate_data$`6to8`) %>%
hc_add_series(name = "5-6 έτη", data = graduate_data$`4to6`) %>%
hc_add_series(name = "4 έτη", data = graduate_data$`4y`) %>%
hc_plotOptions(area = list(
stacking = "percent",
marker = list(enabled = FALSE)
)) %>%
hc_colors(colors)
Σχέση ετών και μέσου όρου
Δείξε τον κώδικα
table1 = statistics_tables[[5]] %>%
.[,c(1,10)] %>%
drop_na() %>%
.[-c(1),] %>%
setNames(c("Year", "AvgGradDuration")) %>%
mutate(AvgGradDuration = stringr::str_remove_all(AvgGradDuration, pattern = " έτη"),
AvgGradDuration = stringr::str_replace(AvgGradDuration, pattern = ",", replacement = "."),
AvgGradDuration = as.numeric(AvgGradDuration))
table2 = statistics_tables[[4]] %>%
.[,c(1,6)] %>%
drop_na() %>%
.[-c(1:2),] %>%
setNames(c("Year", "AvgGrade")) %>%
separate(AvgGrade, into = c("Grade", "Number"), sep = " ") %>%
mutate(Number = parse_number(Number)) %>%
mutate(Grade = str_replace_all(Grade, ",", "."))
joined_tables = left_join(table2, table1, by = "Year") %>%
drop_na() %>%
mutate(Grade = as.numeric(Grade))
Δείξε τον κώδικα
highchart() %>%
hc_title(text = "Βαθμός αποφοίτησης και μέση διάρκεια φοίτησης", style = list(fontSize = "18px")) %>%
hc_subtitle(text = "Ιστορικά η μέση διάρκεια σπουδών είναι μεγαλύτερη των ν+2 ετών για το τμήμα Στατιστικής και τα τελευταία χρόνια έχει ανέλθει σε επίπεδα που προσεγγίζουν το διπλάσιο της καθορισμένης φοίτησης (2ν). Η δυσκολία της σχολής εδράζεται και στον χαμηλό βαθμό αποφοίτησης ο οποίος τα τελευταία χρόνια που παραμένει σταθερά μεταξύ του 6.2 και 6.4, με εξαίρεση την εξεταστική του κορονοϊού.",
style = list(color = "#666")) %>%
hc_xAxis(categories = joined_tables$Year, title = list(text = "Year")) %>%
# Three y-axes
hc_yAxis_multiples(
list(title = list(text = "Βαθμός Αποφοίτησης"), opposite = FALSE, labels = list(style = list(color = "#1f77b4"))),
list(title = list(text = "Διάρκεια σπουδών"), opposite = TRUE, labels = list(style = list(color = "#ff7f0e")))
) %>%
# Sales series
hc_add_series(
name = "Βαθμός αποφοίτησης",
data = joined_tables$Grade,
type = "line",
yAxis = 0,
color = "#1f77b4",
lineWidth = 3,
marker = list(symbol = "circle", radius = 5)
) %>%
# Profit series
hc_add_series(
name = "Διάρκεια σπουδών",
data = joined_tables$AvgGradDuration,
type = "line",
yAxis = 1,
color = "#ff7f0e",
lineWidth = 3,
marker = list(symbol = "diamond", radius = 5)
) %>%
# Tooltip
hc_tooltip(shared = TRUE, crosshairs = TRUE, useHTML = TRUE,
backgroundColor = "#f7f7f7", borderColor = "#333",
style = list(fontSize = "13px")) %>%
# Legend
hc_legend(enabled = TRUE, layout = "horizontal", align = "center", verticalAlign = "bottom")
Βαθμολογίες μαθημάτων
Αναφορά
@online{2023,
author = {, stesiam},
title = {Στατιστικά των Αποφοίτων Στατιστικής},
date = {2023-07-23},
url = {https://stesiam.com/el/posts/eda-graduates-of-statistics/},
langid = {el}
}