Un set de date URÂT: rezultatele bacalaureatului (V: sumarizări pe intervale şi judeţe)
Funcţia noastră "perJudGaps()
" constituie şi returnează un obiect de clasă 'list' cu 42 de componente de clasă 'data.frame', fiecare conţinând procentele de note la probe şi de medii finale corespunzătoare câte unui interval de medii, pentru judeţul respectiv. Cu rbind()
(de la "row bind") putem concatena mai multe obiecte data.frame; numai că în cazul de faţă, aceste obiecte sunt ambalate împreună într-un obiect 'list' - de aceea am folosit funcţia do.call()
(aceasta apelează funcţia indicată pe componentele listei primite).
După ce receptează setul de date (în format "lung": cheie - variabilă - valoare), ggplot() operează stratificat: mai întâi, vede din parametrii funcţiei aes()
- de la "aesthetic" - cărei variabile trebuie să-i reprezinte valorile (numerice) şi deasemenea, cărei variabile (de regulă, de clasă "factor") trebuie să-i reprezinte valorile prin culori diferite, sau prin simboluri şi mărimi diferite; apoi (pe următorul nivel de operare, montat celui precedent prin operatorul "+") se stabileşte "geometria" reprezentării (prin bare, sau ca histogramă, prin linii, puncte, etc.) şi eventual, se calculează anumite statistici de reprezentat (după valorile indicate în parametrul "stat" al funcţiei geom_bar()
); pe următoarele straturi se stabilesc "detalii" precum titluri şi inscripţionări, ce paletă de culori să fie folosită, etc., iar dacă este cazul se constituie mai multe panouri grafice (prin facet_wrap()
) şi eventual, se "răstoarnă" axele de coordonate (prin coord_flip()
).
Un set de date URÂT: rezultatele bacalaureatului (IV: probe, note şi medii)
Constituim o funcţie numită "pergaps()", care să ne obţină procentele de candidaţi pe fiecare interval de medii, pentru un subset din "bac5" furnizat ca argument; exemplificare (angajând şi elemente standard de grafică în R): compararea rezultatelor a două subseturi ale profilului "matematică-informatică" (cei care au susţinut proba D la "Informatică" versus cei care au susţinut-o fie la "Biologie", fie la "Anatomie").
Un set de date URÂT: rezultatele bacalaureatului (III: competenţe lingvistice)
Avem două posibilităţi de a obţine caracteristicile statistice elementare ale datelor respective: fie constituim tabele de frecvenţă pentru fiecare coloană în parte, fie constituim tabele de contingenţă, "încrucişând" câte doi dintre cei 5 factori (desigur, putem face şi una şi alta).
Cel mai vizibil aspect (probabil, binecunoscut) este faptul că lumea se descurcă cel mai greu cu mesajele scrise: la PMS avem aproape 30% de '-' (candidaţi cu punctaj 0-10), iar acest procent este mult mai mare decât toate celelalte de pe prima coloană (corespunzătoare calităţii '-').
Însumând valorile din ultimele patru dintre cele cinci rânduri de rezultate redate mai sus, putem zice doar că 13-14% dintre candidaţi au obţinut rezultate bune (majoritare fiind 'B1' şi 'B2'), la cele cinci criterii de competenţă lingvistică.
Un set de date URÂT: rezultatele bacalaureatului (II: statistici şi interpretări)
notele finale versus instituţia contestaţiei; funcţie R şi procedură de verificare (aleatoare)
învăţământul nostru difuzează mult prea multe "specializări"! (dar nu sunt 96, ci 95)
sortimentul "Tehnologică" este păgubos ("STATUS" versus "Filiera")
"STATUS" versus un criteriu de clasificare oarecare
promovabilitatea pe judeţe ("STATUS" versus "jud")
funcţiile R table(), summary(), as.data.frame(), cut(), subset(); grafice cu mosaicplot() şi ggplot()
Un set de date URÂT: rezultatele bacalaureatului (I: curăţarea datelor)
text CSV versus document ODS (şi 100 MB vs. 900 MB)
Windows "widechar" (UTF-16) versus UTF-8 (şi 100 MB vs. 50 MB)
virgula separă, punctul împarte, TAB deplasează (experienţa comună de editare şi de programare)
Coloane de tabel versus structură de date. Sensul datelor (date versus bălării)
pe scurt: microsoftizare versus informatizare (sau invers).
vezi Cărţile mele (de programare)