setwd("~/Desktop/MIQ-2021")
library(tidyverse)
library(ShinyItemAnalysis)
library(readxl)
library(ggplot2)
library(moments)
library(data.table)
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)
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.
## [1] "ad" "imtahan_mərkəzi" "variant" "fenn"
## [5] "bolme" "cinsi" "yashadigi_rayon" "seans"
## [9] "Bal" "alfa_K" "Vaxt" "Saat"
“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).
İ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.
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
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 |
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
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())
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")
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")
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_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")
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 |
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ı 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")
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")
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
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_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")
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 |
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ı 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")
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")
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
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_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")
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 |
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ı 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")
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")
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
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_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")
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 |
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ə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")
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")
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)
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 |
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())
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 |
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
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")
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")
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)
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ı")
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ı")
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'