Expresii aritmetice în R (partea a III-a)
Construcţia unui program R pentru generarea tuturor expresiilor aritmetice cu 4 operanzi; varianta bazată pe prealocarea memoriei este cam de 1.5 ori mai rapidă decât cea bazată pe append()
.
Extragerea subsetului maximal pe care este injectivă restricţia corespunzătoare a funcţiei de evaluare; restricţia injectivă maximală a subseturilor injective. Statistici şi grafice aferente.
Expresii aritmetice în R (partea a II-a)
Avem 126×7680 expresii aritmetice elementare cu câte 4 operanzi 1..9; explorăm posibilitatea de a investiga proprietăţile acestora folosind procedee statistice, ca în cazul unui "set de date" obişnuit (dintre acelea obţinute de exemplu prin funcţia data() din R). Avem astfel prilejul unor experimente care evidenţiază natura funcţională a limbajului R (în principiu, funcţiile pot fi argumente -anonime sau nu- ale altor funcţii şi în principiu, funcţiile nu au efecte secundare).
Expresii aritmetice în R (partea I)
Generăm într-un limbaj implementat ca interpretor - şi am ales R - toate expresiile aritmetice pentru patru operanzi, cu trei dintre cei patru operatori binari elementari. Într-un limbaj compilat - fie C++ - aceasta ar necesita demersuri prealabile de modelare (de obicei prin arbori binari) pentru "expresie aritmetică"; în schimb, interpretoarele funcţionează după principiul "read - eval" şi prevăd câte o funcţie care analizează şi evaluează o expresie dată ca şir de caractere - şi exact faptul că putem dispune direct de funcţia respectivă îl folosim aici, pentru a genera expresiile aritmetice menţionate.
Alegând tocmai R, avem imediat şi instrumente comode pentru diverse experimentări şi grafice de natură statistică asupra expresiilor respective.
Statistici pe judeţ, mediu şi grupe de medii, folosind R (partea a III-a)
Barele verticale alăturate (având beside=TRUE
în apelul barplot()
) din fiecare grup - [5,6), [6,7), etc. - sunt asociate liniilor tabelului, reprezentând implicit judeţele; înălţimea barei este proporţională cu procentul mediilor de categoria respectivă, pentru judeţul corespunzător barei.
Dar transpunând în prealabil matricea respectivă şi elaborând cât se poate comanda barplot()
, putem găsi o reprezentare grafică superioară (şi care înlesneşte comparaţiile).
În [2] am produs în final structura 'jud.med
', conţinând denumirile judeţelor şi mediile corespunzătoare, pe linii ordonate descrescător după medie; lista începea cu Cluj 7.598
, M.Bucureşti 7.592
, Brăila 7.533
, etc. şi se încheia cu Vaslui 6.296
, Mehedinţi 6.270
, ..., Giurgiu 5.945
. Media judeţului rezulta ca valoarea medie a tuturor mediilor finale ale elevilor din judeţul respectiv…
Dar situaţia depinde considerabil şi de 'Mediu
', cum am evidenţiat în [4]; prin urmare lista tocmai amintită este principial greşită - cel mai evident, în privinţa încadrării M.Bucureşti
("judeţ" care are numai 'URBAN
', spre deosebire de judeţele propriu-zise). Pentru corectitudine era necesar să ţinem seama de proporţia celor două categorii de mediu, în fiecare judeţ; sau, cum vom proceda mai simplu aici - să tratăm separat cele două cazuri.
vezi Cărţile mele (de programare)