setwd("~/Desktop/MIQ-2021")

lazım olacaq paketlərin yüklənməsi

library(tidyverse)
library(ShinyItemAnalysis) 
library(readxl)
library(ggplot2)
library(moments)
library(data.table)

MIQ_2021 datasının yüklənməsi

pacman::p_load(
  rio,        # importing data  
  janitor,    # data cleaning and tables
  epikit,     # age_categories() function
  tidyverse  # data management and visualization
)

MIQ_2021 <- read_csv("file = MIQ_2021.csv")
## Rows: 48568 Columns: 12
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr  (8): ad, imtahan_mərkəzi, fenn, bolme, cinsi, yashadigi_rayon, seans, Saat
## dbl  (3): variant, Bal, alfa_K
## date (1): Vaxt
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
MIQ_2021$imtahan_mərkəzi <- as.factor(MIQ_2021$imtahan_mərkəzi)
MIQ_2021$fenn <- as.factor(MIQ_2021$fenn)
MIQ_2021$bolme <- as.factor(MIQ_2021$bolme)
MIQ_2021$bolme <- as.factor(MIQ_2021$bolme)
MIQ_2021$yashadigi_rayon <- as.factor(MIQ_2021$yashadigi_rayon)
MIQ_2021$seans <- as.factor(MIQ_2021$seans)
MIQ_2021$Vaxt <- as.Date(MIQ_2021$Vaxt)

MIQ_2021-datası.

MİQ_2021-datasında, 2021-ci ildə müəllimlərin işə qəbulu imtahanlarının seanslar üzrə bütün fənlərdən olan nəticələri bir yerdə toplanılmışdır. Bu datada 48487 nəfər imtahanlarda iştirak edənlərin 12 parametr üzrə göstəriciləri vardır.

Göstəricilərin adları

##  [1] "ad"              "imtahan_mərkəzi" "variant"         "fenn"           
##  [5] "bolme"           "cinsi"           "yashadigi_rayon" "seans"          
##  [9] "Bal"             "alfa_K"          "Vaxt"            "Saat"

MIQ_2021- datasının sütunlarının adlarının (göstəricilərin) şərhi

  • “ad”- imtahan verənlərin şərti adları;

  • “imtahan_mərkəzi”- İmtahan keçırilən mərkəz (məkan). 2021-ci ildə MİQ imtahanlarında, Respublikamızın müxtəlif bölgələrində 13 imtahan mərkəzı yaradılmışdır;

  • “variant”- təklif edilən variant;

  • “fenn”- imtahanın hansı fəndən olması;

  • “bolme”- imtahan hansı dildə aparılması. (azərbaycan yaxud rus dilində);

  • “cinsi”- iştirakçının çinsi (kişi və ya qadın);

  • “yashadigi_rayon”- imtahan verənin qeydiyyatda olduğu rayon;

  • “seans”- təklif edilən imtahan seansı;

  • “Bal”- iştirakçının yığdığı bal (test balı);

  • “alfa_K”- testin keyfiyyətini xarakterizə edən kəmiyyət- Kronbax alfası, yaxud daxili razılaşdırma əmsalı, yaxud Qutmanın 5-ci əmsalı;

  • “Vaxt”- iştirakçının imtahan verdiyi gün;

  • “Saat”- iştirakçının imtahan verdiyi saat (imtahan bir gündə üç müxtəlif vaxtlarda keçirilmişdir).


2021-ci ildə müəllimlərin işə qəbulu imtahanlarının (MIQ_2021-datası) bütövlükdə təhlili.

İmtahanlar əsasən, iki göstəriciyə görə, iştirakçıların topladıqları ballara və hər bir seansı testin keyfiyyət ölçüsü kimi xarakterizə edən Kronbaxın alfa əmsalına görə təhlil edilmişdir. Bu zaman bu göstəricilərin fənlər, seanslar, cinslər, seanslar, bölmələr və iştirakçıların yaşayış yerlərinə görə müqayısələri aparılmış, nəticələr əyaniliyin təmini məqsədi üçün bir neçə növ diaqramda nümayış edilmişdir.

MIQ_2021- datasında balların imtahan mərkəzlərinə görə paylanmasının təhlili

İmtahan mərkəzlərində iştirakçıların sayının paylanması

library(dplyr)                  
library(ggplot2)                    
library(scales) 
## 
## Attaching package: 'scales'
## The following object is masked from 'package:purrr':
## 
##     discard
## The following object is masked from 'package:readr':
## 
##     col_factor
MIQ_2021_imtahan_mərkəzi <- MIQ_2021 %>% 
  select(imtahan_mərkəzi)
plotdata <- MIQ_2021_imtahan_mərkəzi %>%
  count(imtahan_mərkəzi) %>%
  mutate(pct = n/sum(n),
         pctlabel = paste0(round(pct*100),"%"))

ggplot(plotdata, 
       aes(x = reorder(imtahan_mərkəzi,-pct),
           y = pct))+  
  geom_bar(stat = "identity", 
           fill = rainbow(13), 
           color = "azure4") +
  geom_text(aes(label = pctlabel), 
            vjust = -0.25) +
  theme_minimal() +          
  scale_y_continuous(labels = percent) +
  theme(axis.text.x = element_text(angle = 65, vjust=0.6))+
  labs(x = "imtahan_mərkəzi", 
       y = "Faizləri", 
       title  = "Faizlərlə sütunlar")

Göründüyü kimi iştirakçıların təxminən üçdən biri imtahanlarda Bakı şəhərində imtahan veriblər

Imtahan mərkəzlərinin balların orta qiymətinə görə düzülüşü

2021-ci il müəllimlərin işə qəbulu imtahanları Respublikamızın müxtəlif bölgələrində yerləşən 13 imtahan mərkəzində aparılmışdır. Bu imtahan mərkəzlərinin adları onlarda imtahan verən müəllimlərin yığdıqları balların orta qiymətləri azalma sırasıyla aşağıdakı kimidir.


Imtahan mərkəzlərinə görə ən yaxşı nəticə Şamaxı Avropa liseyi ( 5 nömrəli tam orta məktəb), ən zəif nəticə Mingəçevir şəhər texniki-hümanitar lisey -də olmuşdur.

MIQ_2021_imtahan_mərkəzi <- MIQ_2021%>%
  group_by(imtahan_mərkəzi) %>%
  summarise(Sayi = n(),
            Min = min(Bal),
            Max = max(Bal),
            Orta_bal = mean(Bal),
            Orta_alfa_K = mean(alfa_K)) %>%
  arrange(desc(Orta_alfa_K))
knitr::kable(MIQ_2021_imtahan_mərkəzi) 
imtahan_mərkəzi Sayi Min Max Orta_bal Orta_alfa_K
Şamaxı Avropa liseyi ( 5 nömrəli tam orta məktəb ) 2034 2 40 22.32252 0.8606408
Quba şəhər 2 nömrəli tam orta məktəb 2218 1 40 21.15825 0.8583177
Kürdəmir şəhər 1 nömrəli tam orta məktəb 1886 0 40 20.84252 0.8561234
Gəncə şəhər 16 nömrəli tam orta məktəb 3609 3 40 22.02799 0.8558028
Ağcabədi şəhər 11 nömrəli tam orta məktəb 3388 1 40 20.35035 0.8557199
Xırdalan şəhər 1 nömrəli məktəb 2953 3 40 22.76329 0.8556529
Azərbaycan Texniki Universiteti 15826 0 40 22.83445 0.8555967
Sumqayıt şəhər 31 nömrəli məktəb 2903 0 40 22.60937 0.8530946
Masallı şəhər 1 nömrəli tam orta məktəb 3422 2 40 21.20281 0.8529418
Gəncə şəhəri 27 nömrəli məktəb-lisey 3244 2 40 20.97904 0.8524982
Şirvan şəhər 10 nömrəli tam orta məktəb 3016 1 40 20.78481 0.8513336
Balakən şəhər 1 saylı tam orta məktəb 2028 3 40 22.33383 0.8478174
Mingəçevir şəhər texniki-hümanitar lisey 2041 1 39 20.79128 0.8441568

Imtahan mərkəzlərində balların paylanmasının sütunlu diaqramda təqdimi. Mavi rəngli şaquli xətt fənlər üzrə balların orta qiymətinə uyğundur.


ggplot(MIQ_2021_imtahan_mərkəzi, aes(x = reorder(imtahan_mərkəzi, Orta_bal, FUN = mean), y = Orta_bal))+ 
  geom_col(stat="summary", fun.y = "mean", aes(fill = imtahan_mərkəzi)) + 
 theme(axis.text.x = element_text(angle = 65, vjust=0.6))+
   geom_hline(yintercept = min(MIQ_2021_imtahan_mərkəzi$Orta_bal),lwd = 1.5, colour = "blue")+
   labs(x = "Mərkəzlərin adları",
       y = "Mərkəzlər üzrə orta ballar")
## Warning: Ignoring unknown parameters: stat, fun.y


Imtahan mərkəzlərində balların orta qiymətlərinin paylanmasının diğər təsviri

ggplot(MIQ_2021_imtahan_mərkəzi, 
       aes(x = Orta_bal, 
           y = reorder(imtahan_mərkəzi, Orta_bal))) +
  geom_point(color="blue", 
             size = 4) +
  geom_segment(aes(x = 10, 
                   xend = Orta_bal, 
                   y = reorder(imtahan_mərkəzi, Orta_bal), 
                   yend = reorder(imtahan_mərkəzi, Orta_bal)),
               color = "azure3") +
  labs (x = "Orta bal",
        y = "",
        title = "İmtahan mərkəzləri üzrə orta bal",
        subtitle = "İmtahan mərkəzləri") +
  theme_minimal() + 
  theme(panel.grid.major = element_blank(),
        panel.grid.minor = element_blank())


Imtahan mərkəzlərində balların paylanmasının bığlı qtuda təsviri

g <- ggplot(MIQ_2021, aes(imtahan_mərkəzi, Bal))
g + geom_boxplot(aes(fill = factor(imtahan_mərkəzi))) + 
  theme(axis.text.x = element_text(angle=65, vjust=0.6)) + 
  labs(title="Box plot", 
       caption="Source: MIQ_2021",
       x = "İmtahan mərkəzlərinə görə cəm ballar",
       y = "Cəm ballar") 

Imtahan mərkəzlərində balların paylanmasının sıxlıq qrafikləri

theme_set(theme_classic())
G2 <- ggplot(MIQ_2021, aes(Bal))
G2 + geom_density(aes(fill= factor(imtahan_mərkəzi), alpha=0.8)) +
  labs(title = "İmtahan mərkəzlərində balların paylanmasının sıxlıq qrafikləri", 
       x="Cəm ballar")


Aşağıdakı diaqramda balların imtahan mərkəzləri üzrə paylanmasın daha yaxşı müqayisə etmək olur


library(ggridges)              # to handle overlapping visulization
ggplot(MIQ_2021, 
       aes(x = Bal, 
           y = imtahan_mərkəzi, 
           fill = imtahan_mərkəzi)) +
  geom_density_ridges(alpha = 0.7) + 
  theme_ridges() +
  geom_vline(xintercept = 20,lwd = 1, colour = "blue")+
  labs("Balların imtahan mərkəzləri üzrə paylanması") +
  theme(legend.position = "none")
## Picking joint bandwidth of 1.51


MIQ_2021- datasında balların fənlərə görə paylanmasının təhlili

Fənlərə görə iştirakçıların saylarının paylanması

MIQ_2021_fenn <- MIQ_2021 %>% 
  select(fenn)
plotdata <- MIQ_2021_fenn %>%
  count(fenn) %>%
  mutate(pct = n/sum(n),
         pctlabel = paste0(round(pct*100), "%"))

ggplot(plotdata, 
       aes(x = reorder(fenn,-pct),
           y = pct))+  
  geom_bar(stat = "identity", 
           fill = rainbow(19), 
           color = "azure4") +
  geom_text(aes(label = pctlabel), 
            vjust = -0.25) +
  theme_minimal() +              
  scale_y_continuous(labels = percent) +
  theme(axis.text.x = element_text(angle = 65, vjust=0.6))+
  labs(x = "fenn", 
       y = "Faizləri", 
       title  = "Faizlərlə sütunlar")

Fənlərin balların Kronbax alfasına görə düzülüşü

Aşağıdakı cədvəldə, 2021-ci ildə MİQ imtahanlarında fənlər üzrə iştirak edənlərin sayı, fənlər üzrə yığılan balların orta qiymətləri, həmçinin fənlər üztə yığılan maksimum və minimum ballar verilmişdir. Cədvəldə fənlərin adları Kronbax alfasının orta qiymətinin azalma sırası ilə verilmişdir. Cədvəldən göründüyü kimi, ən yüksək Kronbax alfası olan fənlər, Musiqi, ibtidai siniflər və tarix ən az orta balları olan fənlər, fiziki tərbiyə, ingilis dili, azərbaycan dili və riyaziyyat fənlərinlərdir


MIQ_2021_fenn <- MIQ_2021%>%
  group_by(fenn) %>%
  summarise(Sayi = n(),
            Min = min(Bal),
            Max = max(Bal),
            Orta_bal = mean(Bal),
             Orta_alfa_K = mean(alfa_K)) %>%
  arrange(desc(Orta_alfa_K))
knitr::kable(MIQ_2021_fenn) 
fenn Sayi Min Max Orta_bal Orta_alfa_K
Musiqi 2102 3 40 22.80209 0.9155669
İbtidai sinif 10023 0 40 25.02764 0.9131466
Tarix 2692 1 40 25.36070 0.9078581
Kimya 1374 1 40 20.96434 0.9021429
Texnologiya 2204 4 40 23.07396 0.8823513
Təsviri incəsənət 1116 2 39 20.77957 0.8755789
Fizika 1869 1 40 18.51899 0.8754717
İnformatika 2534 2 40 19.75138 0.8733217
Rus dili 676 2 39 25.17160 0.8729393
Azərbaycan dili 81 6 38 28.24691 0.8723950
Coğrafiya 2218 4 40 23.68215 0.8721104
Biologiya 1699 1 39 20.35138 0.8637182
Alman dili 154 7 36 21.81169 0.8522922
Fransız dili 259 9 39 28.03475 0.8396446
Rus dili və ədəbiyyatı 253 9 39 26.41107 0.8314219
Riyaziyyat 3873 0 39 16.71004 0.8312652
Azərbaycan dili və ədəbiyyatı 7853 1 40 24.14644 0.7992612
İngilis dili 4695 1 38 16.16060 0.7757228
Fiziki tərbiyə 2893 3 38 19.65399 0.7616720

Fənlər üzrə balların orta qiymətlərinin paylanmasının sütunlu diaqramda təqdimi. Mavi rəngli üfüqi xətt fənlər üzrə balların orta qiymətinə uyğundur.


ggplot(MIQ_2021_fenn, aes(x = reorder(fenn, Orta_bal, FUN = mean), y = Orta_bal))+ 
  geom_col(stat="summary", fun.y = "mean", aes(fill = fenn)) + 
 theme(axis.text.x = element_text(angle = 65, vjust=0.6))+
   geom_hline(yintercept = min(MIQ_2021_fenn$Orta_bal),lwd = 1.5, colour = "blue")+
   labs(x = "Fənlərin adları",
       y = "Fənlər üzrə orta ballar")
## Warning: Ignoring unknown parameters: stat, fun.y


Fənlər üzrə balların paylanmasının bığlı qtuda təsviri

Fənlər üzrə balların paylanmasının bığlı qutuda təqdimi stunlu diaqrama nisbəddə daha məlumatlıdır. Belə ki, sütunlu diaqram yalnız bir ümumiləşdirilmiş qiyməti (məsələn, balların orta qiymətini) göstərirsə, bığlı qutu paylanmanın 5 əsas nöqtəsini və kənar nöqtələri də göstərir.


g <- ggplot(MIQ_2021, aes(fenn, Bal))
g + geom_boxplot(aes(fill = factor(fenn))) + 
  theme(axis.text.x = element_text(angle=65, vjust=0.6)) + 
  labs(title="Box plot", 
       caption="Source: MIQ_2021",
       x = "Fənlərə görə cəm ballar",
       y = "Cəm ballar") 


Fənlər üzrə balların paylanmasının sıxlıq qrafikləri


theme_set(theme_classic())
G2 <- ggplot(MIQ_2021, aes(Bal))
G2 + geom_density(aes(fill= factor(fenn), alpha=0.8)) +
  labs(title = "Fənlər üzrə balların paylanmasının sıxlıq qrafikləri", x="Cəm ballar")


Aşağıdakı diaqramda balların fənlər üzrə paylanmasın daha yaxşı müqayisə etmək olur


library(ggridges)       
ggplot(MIQ_2021, 
       aes(x = Bal, 
           y = fenn, 
           fill = fenn)) +
  geom_density_ridges(alpha = 0.7) + 
  theme_ridges() +
  geom_vline(xintercept = 20,lwd = 1, colour = "blue")+
  labs("Balların fənlər üzrə paylanması") +
  theme(legend.position = "none")
## Picking joint bandwidth of 1.59


Fənlər üzrə balların paylanmasının orta qiymətlərinin interaktiv qrafikdə təsvirı


library(plotly)                                   # interactive visualization
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:rio':
## 
##     export
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
library(htmlwidgets)                              # save html
p <- ggplot(MIQ_2021_fenn, aes(x = fenn, 
                          y = Orta_bal, 
                          color = fenn)) +
  geom_point(size=2) +
  theme(axis.text.x = element_text(angle=65, vjust=0.6))+
  labs(x = "Fənlər",
       y = "Fənlər üzrə orta ballar",
       color = "Fənlər") 
ggplotly(p)

MIQ_2021- datasında balların cinslərə görə paylanmasının təhlili


Cinslər üzrə sayların paylanması

MIQ_2021_cinsi <- MIQ_2021 %>% 
  select(cinsi)
                  
plotdata <- MIQ_2021_cinsi %>%
  count(cinsi) %>%
  mutate(pct = n/sum(n),
         pctlabel = paste0(round(pct*100), "%"))

ggplot(plotdata, 
       aes(x = reorder(cinsi,-pct),
           y = pct))+  
  geom_bar(stat = "identity", 
           fill = rainbow(2), 
           color = "azure4") +
  geom_text(aes(label = pctlabel), 
            vjust = -0.25) +
  theme_minimal() +        
  scale_y_continuous(labels = percent) +
  theme(axis.text.x = element_text(angle = 65, vjust=0.6))+
  labs(x = "cinsi", 
       y = "Faizləri", 
       title  = "Faizlərlə sütunlar")


Cinslər üzrə balların orta qiymətinə görə düzülüşü


Aşağıdakı cədvəldə 2021-ci ildə MİQ imtahanlarında cinslər (qadın və kişi) üzrə iştirak edənlərin sayı, yığılan balların orta qiymətlərı, həmçinin balların maksimum və minimum qiymətlərı verilmişdir. Cədvəldə cinslər üzrə orta ballar azalma sırası ilə verilmişdir. Cədvəldən göründüyü kimi, qadınların sayı (41483), kişilərin sayından (7004) təxminən, 6 dəfə çox, onların bütün fənlər üzrə orta balı (22.02471) isə kişilərin bütün fənlər üzrə orta balından (21.33195) təxminən, 0.7-bal çoxdur.


MIQ_2021_cinsi <- MIQ_2021%>%
  group_by(cinsi) %>%
  summarise(Sayi = n(),
            Min = min(Bal),
            Max = max(Bal),
            Orta_bal = mean(Bal),
             Orta_alfa_K = mean(alfa_K)) %>%
  arrange(desc(Orta_bal))
knitr::kable(MIQ_2021_cinsi) 
cinsi Sayi Min Max Orta_bal Orta_alfa_K
Qadın 41562 0 40 22.03662 0.8580675
Kişi 7006 1 40 21.33343 0.8324083

Cinslər üzrə balların paylanmasının sütunlu diaqramda təqdimi. Mavi rəngli üfüqi xətt fənlər üzrə balların orta qiymətinə uyğundur.


ggplot(MIQ_2021_cinsi, aes(x = reorder(cinsi, Orta_bal, FUN = mean), y = Orta_bal))+ 
  geom_col(stat="summary", fun.y = "mean", aes(fill = cinsi)) + 
 theme(axis.text.x = element_text(angle = 65, vjust=0.6))+
   geom_hline(yintercept = min(MIQ_2021_cinsi$Orta_bal),lwd = 1.5, colour = "blue")+
   labs(x = "Cinslərın adları",
       y = "Cinslər üzrə orta ballar")
## Warning: Ignoring unknown parameters: stat, fun.y


Cinslər üzrə balların paylanmasının bığlı qtuda təsviri

Cinslər üzrə balların paylanmasının bığlı qutuda təqdimi stunlu diaqrama nisbəddə daha məlumatlıdır. Belə ki, sütunlu diaqram yalnız bir ümumiləşdirilmiş qiyməti (məsələn, balların orta qiymətinı) göstərirsə, bığlı qutu paylanmanın 5 əsas nöqtəsini və kənar nöqtələri də göstərir.


g <- ggplot(MIQ_2021, aes(cinsi, Bal))
g + geom_boxplot(aes(fill = factor(cinsi))) + 
  theme(axis.text.x = element_text(angle=65, vjust=0.6)) + 
  labs(title="Box plot", 
       caption="Source: MIQ_2021",
       x = "Cinslərə görə cəm ballar",
       y = "Cəm ballar") 


Cinslərə görə balların paylanmasının sıxlıq qrafikləri

Bu sıxlıq qrafiklərinə diqqətlə baxdıqda məlum olur ki, paylanmanıin orta hissələrində, (təxminən 18-25 ballar aralığında) kişilərin yığdıqları ballar, qadınların yığdıqları ballardan yuxardır. lakin, paylanmanın yuxarı hissəsində (25-40) qadınların göstəriciləri, kişilərin göstəricilərindən yaxşıdır. Bütövlükdə baxdıqda isə yuxarıda verilən “bığlı qutu”-təsvirindən də göründüyü kimi, qadınların göstəriciləri kişilərin göstəricilərindən yaxşıdır. Beləliklə, belə nəticə çıxarmaq olar ki, daha hazırlıqlı müəllimlər içərisində qadınlar kişilərə nisbəddə daha çoxdur. Bu hal əlbəttə, fənlərdən asılı olaraq dəyişə bilər, lakin bütövlükdə bu belədir.


theme_set(theme_classic())
G2 <- ggplot(MIQ_2021, aes(Bal))
G2 + geom_density(aes(fill= factor(cinsi), alpha=0.8)) +
  labs(title = "Cinslərə görə balların paylanmasının sıxlıq qrafikləri", 
       x="Cəm ballar")


Aşağıdakı diaqramda balların cinslər üzrə paylanmasını daha yaxşı müqayisə etmək olur


library(ggridges)              # to handle overlapping visulization
ggplot(MIQ_2021, 
       aes(x = Bal, 
           y = cinsi, 
           fill = cinsi)) +
  geom_density_ridges(alpha = 0.7) + 
  theme_ridges() +
  geom_vline(xintercept = 20,lwd = 1, colour = "blue")+
  labs("Balların cinslər üzrə paylanması") +
  theme(legend.position = "none")
## Picking joint bandwidth of 1.07


Cinslər üzrə balların paylanmasının orta qiymətlərinin interaktiv qrafikdə təsvirı


library(plotly)                                   # interactive visualization
library(htmlwidgets)                              # save html
p <- ggplot(MIQ_2021_cinsi, aes(x = cinsi, 
                          y = Orta_bal, 
                          color = cinsi)) +
  geom_point(size=2) +
  theme(axis.text.x = element_text(angle=65, vjust=0.6))+
  labs(x = "Cinslər",
       y = "Cinslər üzrə orta ballar",
       color = "cinsı") 
ggplotly(p)

MIQ_2021- datasında balların azərbaycan və rus bölmələrinə görə paylanmasının təhlili


Azərbaycan və rus bölmələri üzrə iştirak edənlərın sayı faizlərlə

MIQ_2021_bolme <- MIQ_2021 %>% 
  select(bolme)                  
plotdata <- MIQ_2021_bolme %>%
  count(bolme) %>%
  mutate(pct = n/sum(n),
         pctlabel = paste0(round(pct*100), "%"))

ggplot(plotdata, 
       aes(x = reorder(bolme,-pct),
           y = pct))+  
  geom_bar(stat = "identity", 
           fill = rainbow(2), 
           color = "azure4") +
  geom_text(aes(label = pctlabel), 
            vjust = -0.25) +
  theme_minimal() +             
  scale_y_continuous(labels = percent) +
  theme(axis.text.x = element_text(angle = 65, vjust=0.6))+
  labs(x = "Azərbaycan və Rus bölməsi", 
       y = "Faizləri", 
       title  = "Azərbaycan və Rus bölməsi üzrə iştirak edənlərin faizi")

Azərbaycan və rus bölmələrinin balların orta qiymətinə görə müqayisəsi


Aşağıdakı cədvəldə 2021-ci ildə MİQ imtahanlarında bölmələr üzrə (azərbaycan və rus) iştirak edənlərin sayı, yığılan balların orta qiymətlərı, həmçinin balların maksimum və minimum qiymətlərı verilmişdir. Cədvəldə bölmələr üzrə orta ballar azalma sırası ilə verilmişdir. Cədvəldən göründüyü kimi, azərbaycan bölməsi üzrə iştirakçıların sayı 47528, rus bölməsi üzrə iştirakçıların sayı 959 nəfərdir. Azərbaycan bölməsi üzrə iştirakçıların orta balı, rus bölməsi üzrə iştirakçıların orta balından təxminən, 1.2 bal yüksəkdir.


MIQ_2021_bolme <- MIQ_2021%>%
  group_by(bolme) %>%
  summarise(Sayi = n(),
            Min = min(Bal),
            Max = max(Bal),
            Orta_bal = mean(Bal),
            Orta_alfa_K = mean(alfa_K)) %>%
  arrange(desc(Orta_bal))
knitr::kable(MIQ_2021_bolme) 
bolme Sayi Min Max Orta_bal Orta_alfa_K
Azərbaycan 47528 0 40 21.94805 0.8547852
Rus 1040 3 39 21.34712 0.8352149

Bölmələr üzrə balların paylanmasının sütunlu diaqramda təqdimi. Mavi rəngli üfüqi xətt fənlər üzrə balların orta qiymətinə uyğundur.


ggplot(MIQ_2021_bolme, aes(x = reorder(bolme, Orta_bal, FUN = mean), y = Orta_bal))+ 
  geom_col(stat="summary", fun.y = "mean", aes(fill = bolme)) + 
 theme(axis.text.x = element_text(angle = 65, vjust=0.6))+
   geom_hline(yintercept = min(MIQ_2021_bolme$Orta_bal),lwd = 1.5, colour = "blue")+
   labs(x = "Bölmələrin adları",
       y = "Bölmələr üzrə orta ballar")
## Warning: Ignoring unknown parameters: stat, fun.y


Bölmələr üzrə balların paylanmasının bığlı qtuda təsviri

Bölmələr üzrə balların paylanmasının bığlı qutuda təqdimi stunlu diaqrama nisbəddə daha məlumatlıdır. Belə ki, sütunlu diaqram yalnız bir ümumiləşdirilmiş qiyməti (məsələn, balların orta qiymətinı) göstərirsə, bığlı qutu paylanmanın 5 əsas nöqtəsini və kənar nöqtələri də göstərir.


g <- ggplot(MIQ_2021, aes(bolme, Bal))
g + geom_boxplot(aes(fill = factor(bolme))) + 
  theme(axis.text.x = element_text(angle=65, vjust=0.6)) + 
  labs(title="Box plot", 
       caption="Source: MIQ_2021",
       x = "Bölmələrə görə cəm ballar",
       y = "Cəm ballar") 


Bölmələrə görə balların paylanmasının sıxlıq qrafikləri

Azərbaycan və rus bölmələri üzrə balların paylanmasının sıxlıq qrafikləri onu göstərir ki, balların paylanmasının yuxarı hissəsində azərbaycan bölməsinin müəllimlərinin göstəriciləri rus bölməsinin müəllimlərinin göstəricilərindən yaxşıdır. Lakin bu imtahanlar müxtəlif ölçü materialları ilə aparıldığından aparılan bu müqayısə legitim olmaya da bilər. Amma sıxlıq qrafiklərinin demək olar ki, eyni olub və bir-birlərinə nəzərən sürüşməsi imtahan materiallarının tərcüməsində olan nüansları da əks etdirə bilər!


theme_set(theme_classic())
G2 <- ggplot(MIQ_2021, aes(Bal))
G2 + geom_density(aes(fill= factor(bolme), alpha=0.8)) +
  labs(title = "Bölmələrə görə balların paylanmasının sıxlıq qrafikləri", 
       x="Cəm ballar")


Aşağıdakı diaqramda balların bölmələr üzrə paylanmasını daha yaxşı müqayisə etmək olur


library(ggridges)              # to handle overlapping visulization
ggplot(MIQ_2021, 
       aes(x = Bal, 
           y = bolme, 
           fill = bolme)) +
  geom_density_ridges(alpha = 0.7) + 
  theme_ridges() +
  geom_vline(xintercept = 20,lwd = 1, colour = "blue")+
  labs("Balların bölmələr üzrə paylanması") +
  theme(legend.position = "none")
## Picking joint bandwidth of 1.38


Bölmələr üzrə balların paylanmasının orta qiymətlərinin interaktiv qrafikdə təsvirı


library(plotly)                                   # interactive visualization
library(htmlwidgets)                              # save html
p <- ggplot(MIQ_2021_bolme, aes(x = bolme, 
                          y = Orta_bal, 
                          color = bolme)) +
  geom_point(size=2) +
  theme(axis.text.x = element_text(angle=65, vjust=0.6))+
  labs(x = "Bölmələr",
       y = "Bölmələr üzrə orta ballar",
       color = "bolme") 
ggplotly(p)

MIQ_2021- datasında balların variantlar üzrə paylanmasının təhlili

MIQ_2021- imtahanlarında iştirak edənlərin sayının faizinin variantlar üzrə paylanması

MIQ_2021_variant <- MIQ_2021 %>% 
  select(variant)
                
plotdata <- MIQ_2021_variant %>%
  count(variant) %>%
  mutate(pct = n/sum(n),
         pctlabel = paste0(round(pct*100), "%"))
head(plotdata)
## # A tibble: 3 × 4
##   variant     n   pct pctlabel
##     <dbl> <int> <dbl> <chr>   
## 1       1 20330 0.419 42%     
## 2       2 14350 0.295 30%     
## 3       3 13888 0.286 29%
ggplot(plotdata, 
       aes(x = reorder(variant,-pct),
           y = pct))+  
  geom_bar(stat = "identity", 
           fill = rainbow(3), 
           color = "azure4") +
  geom_text(aes(label = pctlabel), 
            vjust = -0.25) +
  theme_minimal() +        
  scale_y_continuous(labels = percent) +
  labs(x = "Variantlar", 
       y = "Faizləri", 
       title  = "Variantlar üzrə iştirak edənlərin sayının faizlə ifadəsi")


Variantlar üzrə balların orta qiymətlərə görə düzülüşü


Aşağıdakı cədvəldə 2021-ci ildə MİQ imtahanlarında variantlar üzrə iştirak edənlərin sayı, yığılan balların orta qiymətlərı, həmçinin balların maksimum və minimum qiymətlərı verilmişdir. Cədvəldə variantlar üzrə orta ballar azalma sırası ilə verilmişdir. Cədvəldən göründüyü kimi, birinci varianta cavab verənlərin sayı 20249, ikinci varianta cavab verənlərin sayı 14350 və üçüncü varianta cavab verənlərin sayı 13888 nəfərdir. Deməli, ən çox cavab verənlər birinci variantlar üzrə olmuşdur. Bu ondan irəlıi gəlir ki, bir çox fənlərdən olan testlərdə yalnız, birinci variantdan istifadə etmək kifayət etmişdir. Qeyd edək ki, variantlar üzrə balların orta qiymətlərində əhəmiyyətli fərq müşahidə edilmir. Lakin, konkret fənlərdə bu fərq əhəmiyyətli ola bilər. Amma, buradan göründüyü kimi ümumi halda bu belə deyil.


MIQ_2021_variant <- MIQ_2021%>%
  group_by(variant) %>%
  summarise(Sayi = n(),
            Min = min(Bal),
            Max = max(Bal),
            Orta_bal = mean(Bal),
            Orta_alfa_K = mean(alfa_K)) %>%
  arrange(desc(Orta_alfa_K))
knitr::kable(MIQ_2021_variant) 
variant Sayi Min Max Orta_bal Orta_alfa_K
3 13888 0 40 22.11478 0.8625087
1 20330 1 40 21.94943 0.8511685
2 14350 0 40 21.74118 0.8510159

Variantlar üzrə balların paylanmasının sütunlu diaqramda təqdimi. Mavi rəngli üfüqi xətt fənlər üzrə balların orta qiymətinə uyğundur.


ggplot(MIQ_2021_variant, aes(x = reorder(variant, Orta_bal, FUN = mean), y = Orta_bal))+ 
  geom_col(stat="summary", fun.y = "mean", aes(fill = variant)) + 
 theme(axis.text.x = element_text(angle = 65, vjust=0.6))+
   geom_hline(yintercept = min(MIQ_2021_variant$Orta_bal),lwd = 1.5, colour = "blue")+
   labs(x = "Bölmələrin adları",
       y = "Bölmələr üzrə orta ballar")
## Warning: Ignoring unknown parameters: stat, fun.y


Variantlar üzrə balların paylanmasının bığlı qutuda təsviri

Variantlar üzrə balların paylanmasının bığlı qutuda təqdimi stunlu diaqrama nisbəddə daha məlumatlıdır. Belə ki, sütunlu diaqram yalnız bir ümumiləşdirilmiş qiyməti (məsələn, balların orta qiymətinı) göstərirsə, bığlı qutu paylanmanın 5 əsas nöqtəsini və kənar nöqtələri də göstərir. Variantlar üzrə balların paylanmasının “bığlı qutu” təqdimi hər üç variant üzrə balların paylanmasının əsas parametrlərinin təxminən eyni olduğunu göstərir.


g <- ggplot(MIQ_2021, aes(variant, Bal))
g + geom_boxplot(aes(fill = factor(variant))) + 
  theme(axis.text.x = element_text(angle=65, vjust=0.6)) + 
  labs(title="Box plot", 
       caption="Source: MIQ_2021",
       x = "variantlara görə cəm ballar",
       y = "Cəm ballar") 


Variantlara görə balların paylanmasının sıxlıq qrafikləri


theme_set(theme_classic())
G2 <- ggplot(MIQ_2021, aes(Bal))
G2 + geom_density(aes(fill= factor(variant), alpha=0.8)) +
  labs(title = "Variantlar üzrə balların paylanmasının sıxlıq qrafikləri", 
       x="Cəm ballar")


Variantlar üzrə balların paylanmasının orta qiymətlərinin interaktiv qrafikdə təsvirı


library(plotly)                                   # interactive visualization
library(htmlwidgets)                              # save html
p <- ggplot(MIQ_2021_variant, aes(x = factor(variant), 
                          y = Orta_bal, 
                          color = variant)) +
  geom_point(size=2) +
  theme(axis.text.x = element_text(angle=65, vjust=0.6))+
  labs(x = "Variantlar",
       y = "Variantlar üzrə orta ballar",
       color = "variant") 
ggplotly(p)

MIQ_2021- datasında balların imtahan verənlərin yaşadıqları rayonlar üzrə paylanmasının təhlili


İmtahan verənlərin yaşadıqları rayonların balların orta qiymətinə görə düzülüşü


Aşağıdakı cədvəldə 2021-ci ildə, MİQ imtahanlarında imtahan verənlərin yaşadıqları rayonlar üzrə sayları, yığdıqları balların orta qiymətlərı, həmçinin balların maksimum və minimum qiymətlərı verilmişdir. Cədvəldə rayon və şəhərlər üzrə orta ballar azalma sırası ilə verilmişdir.


MIQ_2021_yashadigi_rayon <- MIQ_2021%>%
  group_by(yashadigi_rayon) %>%
  summarise(Sayi = n(),
            Min = min(Bal),
            Max = max(Bal),
            Orta_bal = mean(Bal)) %>%
  arrange(desc(Orta_bal))
knitr::kable(MIQ_2021_yashadigi_rayon) 
yashadigi_rayon Sayi Min Max Orta_bal
Xızı 22 12 39 29.22727
İsmayıllı 413 4 39 24.16465
Neftçala 227 3 39 23.20264
Naxçıvan 24 7 38 23.08333
Siyəzən 149 5 39 23.06040
Qazax 461 4 40 22.92191
Qax 240 4 39 22.86250
Bakı 15774 0 40 22.82015
Ağstafa 332 4 40 22.79518
Abşeron 2953 3 40 22.76329
Oğuz 282 5 39 22.58156
Sumqayıt 2881 0 40 22.55883
Qəbələ 646 3 39 22.50464
Zaqatala 351 3 40 22.43875
Şəki 889 3 40 22.40270
Ucar 303 3 40 22.37954
Tovuz 826 4 40 22.27119
Yardımlı 211 6 40 22.21327
Mingəçevir 873 1 40 22.06758
Lerik 198 5 39 22.04545
Biləsuvar 460 1 40 21.89565
Şəmkir 916 4 40 21.73581
Beyləqan 458 5 40 21.66594
Quba 675 2 40 21.58222
Saatlı 269 3 39 21.44981
Göygöl 402 2 40 21.43035
Masallı 685 3 40 21.42190
Naftalan 43 5 38 21.39535
Astara 328 5 40 21.33841
Bərdə 1082 2 40 21.29852
Salyan 576 1 40 21.28993
Goranboy 678 5 38 21.24631
Balakən 266 4 40 21.22556
Gəncə 2908 2 40 21.19979
Zərdab 259 5 40 21.03089
Şabran 261 1 39 20.97701
Xaçmaz 718 3 40 20.94150
Gədəbəy 241 4 40 20.87137
İmişli 368 6 39 20.83424
Samux 350 2 38 20.78000
Lənkəran 982 2 40 20.76477
Ağdaş 448 2 40 20.64062
Şamaxı 453 4 40 20.58278
Cəlilabad 805 2 40 20.57516
Göyçay 511 2 40 20.56751
Sabirabad 457 4 40 20.54923
Ağsu 241 2 39 20.44813
Qusar 415 3 39 20.27470
Yevlax 540 3 39 20.24815
Şirvan 948 2 40 20.17194
Daşkəsən 103 4 36 20.08738
Kürdəmir 399 0 40 20.03008
Tərtər 368 3 39 20.00815
Ağdam 427 2 40 19.91335
Qobustan 128 4 39 19.89844
Füzuli 252 4 36 19.45238
Hacıqabul 292 2 39 19.44521
Ağcabədi 788 1 39 19.00127
Cəbrayıl 13 3 30 18.30769

İmtahan verənlərin yaşadıqları rayonların balların orta qiymətinə görə düzülüşü

library(scales)                                      # scaling infrastructure
library(ggbeeswarm)                                  # reduces overlap                              # for dataset `gapminder` 
MIQ_2021_yashadigi_rayon <- MIQ_2021%>%
  group_by(yashadigi_rayon) %>%
  summarise(Sayi = n(),
            Min = min(Bal),
            Max = max(Bal),
            Orta_bal = mean(Bal))

# İmtahan mərkəzəri
ggplot(MIQ_2021_yashadigi_rayon, 
       aes(x = Orta_bal, 
           y = reorder(yashadigi_rayon, Orta_bal))) +
  geom_point(color="blue", 
             size = 3) +
  geom_segment(aes(x = 15, 
                   xend = Orta_bal, 
                   y = reorder(yashadigi_rayon, Orta_bal), 
                   yend = reorder(yashadigi_rayon, Orta_bal)),
               color = "azure3") +
  labs (x = "Orta bal",
        y = "",
        title = "İştirakçıların qeydiyyatda olduqları yerlər üzrə orta ballar",
        subtitle = "") +
  theme_minimal() + 
  theme(panel.grid.major = element_blank(),
        panel.grid.minor = element_blank())

MIQ_2021- datasında balların imtahan keçirilən günlərə görə paylanması


İmtahan keçirilən günlərın Kronbax alfasəna görə düzülüşü


Aşağıdakı cədvəldə 2021-ci ildə MİQ imtahanlarında gündəlik imtahanlarda iştirak edənlərin sayı, yığılan balların orta qiymətlərı, həmçinin balların maksimum və minimum qiymətlərı verilmişdir. Yığılan balların orta qiymətləri günlərdən asılı olaraq çox ciddi şəkildə dəyişir.


MIQ_2021_Vaxt <- MIQ_2021%>%
  group_by(Vaxt) %>%
  summarise(Sayi = n(),
            Min = min(Bal),
            Max = max(Bal),
            Orta_bal = mean(Bal),
            Orta_alfa_K = mean(alfa_K)) %>%
  arrange(desc(Orta_alfa_K))
knitr::kable(MIQ_2021_Vaxt) 
Vaxt Sayi Min Max Orta_bal Orta_alfa_K
2021-07-08 2200 0 40 27.44409 0.9280986
2021-07-09 2668 1 40 24.63081 0.9153599
2021-07-07 2527 2 40 27.10922 0.9127654
2021-08-02 2511 1 40 25.41020 0.9076664
2021-07-29 2641 2 40 23.18629 0.9029132
2021-07-12 2454 0 40 20.07050 0.8911630
2021-08-04 824 3 38 21.67961 0.8772557
2021-07-17 2368 4 40 23.57475 0.8769476
2021-07-05 1898 1 40 18.48051 0.8751395
2021-07-30 2399 3 40 23.75698 0.8750081
2021-07-14 2440 1 40 20.55041 0.8741222
2021-07-06 2505 2 40 19.79481 0.8735486
2021-07-22 2796 4 40 27.73891 0.8499872
2021-07-13 2491 0 39 16.65516 0.8267081
2021-07-26 2488 1 39 19.58682 0.8177756
2021-07-15 2102 2 39 20.06185 0.8129688
2021-07-28 2393 1 40 16.37986 0.7883938
2021-07-23 2619 2 38 21.64032 0.7847668
2021-08-03 1803 4 38 24.73211 0.7813724
2021-07-16 2002 3 39 20.06494 0.7779027
2021-07-27 2439 1 38 16.55925 0.7730327

İmtahan keçirilən günlər üzrə balların paylanmasının sütunlu diaqramda təqdimi. Mavi rəngli şaquli xətt fənlər üzrə balların orta qiymətinə uyğundur.


ggplot(MIQ_2021_Vaxt, aes(x = reorder(Vaxt, Orta_bal, FUN = mean), y = Orta_bal))+ 
  geom_col(stat="summary", fun.y = "mean", aes(fill = Vaxt)) + 
 theme(axis.text.x = element_text(angle = 65, vjust=0.6))+
   geom_hline(yintercept = min(MIQ_2021_Vaxt$Orta_bal),lwd = 1.5, colour = "blue")+
   labs(x = "Imtahan tarixləri",
       y = "İmtahan günləri üzrə orta ballar")
## Warning: Ignoring unknown parameters: stat, fun.y


İmtahanlar keçirilən günlər üzrə balların paylanmasının bığlı qutuda təsviri

Vaxtlar üzrə balların paylanmasının bığlı qutuda təqdimi stunlu diaqrama nisbəddə daha məlumatlıdır. Belə ki, sütunlu diaqram yalnız bir ümumiləşdirilmiş qiyməti (məsələn, balların orta qiymətinı) göstərirsə, bığlı qutu paylanmanın 5 əsas nöqtəsini və kənar nöqtələri də göstərir.


g <- ggplot(MIQ_2021, aes(Vaxt, Bal))
g + geom_boxplot(aes(fill = factor(Vaxt))) + 
  theme(axis.text.x = element_text(angle=65, vjust=0.6)) + 
  labs(title="Box plot", 
       caption="Source: MIQ_2021",
       x = "Vaxtlara görə cəm ballar",
       y = "Cəm ballar") 


İmtahanlar keçirilən günlərə görə balların paylanmasının sıxlıq qrafikləri


theme_set(theme_classic())
G2 <- ggplot(MIQ_2021, aes(Bal))
G2 + geom_density(aes(fill= factor(Vaxt), alpha=0.8)) +
  labs(title = "Günlərə görə balların paylanmasının sıxlıq qrafikləri", x="Cəm ballar")


İmtahanlar keçirilən günlər üzrə balların paylanmasının orta qiymətlərinin interaktiv qrafikdə təsvirı


library(plotly)                                   # interactive visualization
library(htmlwidgets)                              # save html
p <- ggplot(MIQ_2021_Vaxt, aes(x = factor(Vaxt), 
                          y = Orta_bal, 
                          color = Vaxt)) +
  geom_point(size=2) +
  theme(axis.text.x = element_text(angle=65, vjust=0.6))+
  labs(x = "Vaxtlar",
       y = "Vaxtlar üzrə orta ballar",
       color = "Vaxt") 
ggplotly(p)

Imtahan günləri üzrə orta balların paylanması reqressiya xətti

ggplot(MIQ_2021_Vaxt, aes(x = Vaxt , y = Orta_bal)) +   
  geom_line(color = "indianred", size=0.6)+       
  geom_smooth(formula = y~x, method = 'loess') +   
  theme_minimal() + 
  theme(axis.text.x = element_text(angle = 65, vjust=0.6)) +
  labs(title = "Imtahan günləri üzrə orta balların paylanması")


Imtahan günləri üzrə alfa Kronbaxın paylanmasının reqressiya xətti

ggplot(MIQ_2021_Vaxt, aes(x = Vaxt , y = Orta_alfa_K)) +   
  geom_line(color = "indianred", size=0.6)+       
  geom_smooth(formula = y~x, method = 'loess') +   
  theme_minimal() + 
  theme(axis.text.x = element_text(angle = 65, vjust=0.6)) +
  labs(title = "Imtahan günləri üzrə orta alfa Kronbaxın paylanması")

p <- ggplot(MIQ_2021_Vaxt, aes(x = Vaxt , y = Orta_alfa_K))    
p + geom_point(aes(colour = factor(Vaxt), size = Sayi))+
  geom_line(color = "indianred", size=0.6)+       
  geom_smooth(formula = y~x, method = 'loess') +   
  theme_minimal() + 
  theme(axis.text.x = element_text(angle = 65, vjust=0.6)) +
  labs(title = "Imtahan günləri üzrə orta alfa Kronbaxın paylanması")


Imtahan günləri üzrə alfa Kronbaxın paylanmasının imtahan günlərində yığılan balların orta qiymətləri və reqressiya xətti ilə verilməsi

MIQ_2021_Vaxt <- MIQ_2021 %>% 
  group_by(Vaxt) %>% 
  summarise(Sayı = n(),
            Orta_balı = mean(Bal),
            Alfa_K = mean(alfa_K)) %>% 
  arrange(Orta_balı)
g <- ggplot(MIQ_2021_Vaxt, aes(Vaxt, Alfa_K))
g + geom_point(aes(size = Orta_balı))+
  geom_line(color = "red") +
  theme(axis.text.x = element_text(angle=65, vjust=0.6)) +
  geom_smooth()
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'