setwd("~/Desktop/Sertifikasiya")
Bu imtahanlarda müəllimlərə təklif edilən testlər çox asan olmuşdur. Rus bölməsində təklif olunan test isə o qədər asan olmuşdur ki, nəticədə, test təşkilinin bir neçə vacib prinsipi pozulmuşdur.
İmtahanlardan əvvəl keçid balı kimi 30 bal elan edilmişdir (60 balın yarısı). Bu o demək idi ki, testlərin etibarlılığının yuxarı olması üçün ümumi balların paylanmasının simmetrik olmasına çalışılmaq lazımdır. Yəıni, hər bir seansda cəm ballarin paylanmasının medianı və orta qiyməti təxminən eyni olsun.
Bizim test bazamızda ibtidai sinif müəllimləri üçün nəzərdə tutulan, kalibrə olunmuş kifayət sayda suallarımız vardır. Onların içərisindən çətinlik dərəcələri sıfrın ətrafında olan tapşırıqlar seçilməli, yaxud onlara ekvivalent tapşırıqlar yazılmalı idi. Lakin bu yenə də belə olmayıbdır.
Məsələn, rus bölməsində verilən testin cəm ballarının orta qiyməti- 48.8691883 -bal olmuşdur. İştirakçıların 60 faizindən çoxu 50-baldan yuxarı, yaxud 83-faizdən çox bal toplamışdır. MİQ-imtahanlarında rus bölməsinin nəticələri azərbaycan bölməsinin nəticələrindən belə fərqlənmir.
Əgər, rus bölməsi müəllim qıtlığı ilə üzləşibsə problem bu yolla həll olunmalı deyildi. Cəm ballarının normal paylanmasına qismən nail olunmalı, keçid balın aşağı salınması yolu ilə məqsədə nail olmağa cəhd edilməli idi. Bunu hamı da başa düşərdi. Nəticədə, rus bölməsində təklif olunan testin bir tapşırığı (IBS3076677) ümumiyyətlə yararsız, aşağıdakı adları qeyd olunan 33-tapşırıq isə qüsurlu tapşırıq kimi dəyərləndirilmişdir
IBS3051694, IBS003086062, IBS003086055, IBS3065950, IBS3065822, IBS3065507, IBS3064935, IBS3064496, IBS3052752, IBS3052431, IBS003086067, IBS3052581, IBS003005940, IBS003005458, IBS3064117, IBS3076677, IBS3063418, IBS003005138, IBS003004607, IBS003003864, IBS003011549, IBS003087330, IBS3083784, IBS003061784, IBS003060387, IBS003061968, IBS003087909, IBS003087524, IBS3075293, IBS3066759, IBS3066671, IBS003007448, IBS003007098, IBS003006915, MET9006187, MET9006189, MET9006191, MET9006192, MET9006193, MET9006194, MET9006195
# set options
options(stringsAsFactors = F) # no automatic data transformation
options("scipen" = 100, "digits" = 4) # suppress math annotation
# install packages
library(knitr)
library(lattice)
library(tidyverse)
library(likert)
library(MASS)
library(psych)
library(viridis)
library(ggplot2)
library(here)
library(flextable)
library(devtools)
library(ShinyItemAnalysis)
# library(userfriendlyscience)
# activate klippy for copy-to-clipboard button
klippy::klippy()
Ibt_S_22 <- read_csv("Ibt_S_22.csv")
Ibt_S_22[Ibt_S_22== "BAKI"] <- "Bakı"
Sertifikasiya imtahanlarda iştirak edənlərin sayı 10944
Sertifikasiya imtahanlarda iştirak edən qadınların sayı 10944
Sertifikasiya imtahanlarda azərbaycan və rus bölmələri üzrə imtahan verənlərin sayı
table(table(Ibt_S_22$Bölmə))
##
## 1269 9675
## 1 1
table(Ibt_S_22$Im_mərkəzi)
##
## Azərbaycan Texniki Universitetinin İdman Kompleksi
## 3803
## Gəncə şəhər 28 № li tam orta məktəb
## 1079
## Gəncə şəhər Nizami Aydın adına 18 №-li tam orta məktəb
## 911
## Sumqayıt şəhər Nəsrəddin Tusi adına 12 nömrəli tam orta məktəb
## 1099
## Sumqayıt şəhər Yusif Məmmədəliyev adına 31 nömrəli tam orta məktəb
## 1052
## Xaçmaz rayon Cəfər Cabbarlı adına şəhər 6 №-li tam orta məktəb
## 1252
## Yasamal rayon 158 №-li tam orta məktəb
## 649
## Yasamal rayon Milli Qəhrəman M.Ə.İbrahimov adına 153 №-li tam orta məktəb
## 1099
table(Ibt_S_22$Seans)
##
## Seans_453 Seans_454 Seans_456 Seans_458 Seans_459_Rus
## 2579 2240 2604 2252 1269
table(Ibt_S_22$Y_rayon)
##
## Abşeron Bakı Daşkəsən Gəncə Goranboy Göygöl Naftalan Quba
## 965 5247 116 709 601 295 26 674
## Qusar Şabran Samux Siyəzən Sumqayıt Xaçmaz Xızı
## 405 171 243 153 702 596 41
table(Ibt_S_22$Test_S)
##
## Test_asandır
## 10944
Bütün seanslar üzrə testlər asan tərtib edilmişdir.
İmtahan mərkəzlərinin adları uzun olduqlarına görə təqdimatlarda müəyyən çətinliklər törədir. Bu səbəbdən onların adları qısaldılmışdır
Ibt_S_22[Ibt_S_22=="Azərbaycan Texniki Universitetinin İdman Kompleksi"] <- "Tex.Un"
Ibt_S_22[Ibt_S_22=="Gəncə şəhər 28 № li tam orta məktəb"] <- "Gəncə_28"
Ibt_S_22[Ibt_S_22=="Gəncə şəhər Nizami Aydın adına 18 №-li tam orta məktəb"] <- "Gəncə_18"
Ibt_S_22[Ibt_S_22== "Sumqayıt şəhər Nəsrəddin Tusi adına 12 nömrəli tam orta məktəb"] <- "Sumqayıt_12"
Ibt_S_22[Ibt_S_22=="Sumqayıt şəhər Yusif Məmmədəliyev adına 31 nömrəli tam orta məktəb"]<- "Sumqayıt_31"
Ibt_S_22[Ibt_S_22=="Xaçmaz rayon Cəfər Cabbarlı adına şəhər 6 №-li tam orta məktəb"] <- "Xaçmaz_6"
Ibt_S_22[Ibt_S_22=="Yasamal rayon 158 №-li tam orta məktəb"] <-"Yasamal_158"
Ibt_S_22[Ibt_S_22=="Yasamal rayon Milli Qəhrəman M.Ə.İbrahimov adına 153 №-li tam orta məktəb"] <-"Yasamal_153"
Ibt_S_22[Ibt_S_22== "BAKI"] <- "Bakı"
Cəm ballarının daha da dərindən analizi məqsədilə onların dəyişmə diapozonu (0-60) beş hissəyə bölünmüş və ‘Çox_pis’, ‘Pis’, ‘Orta’, ‘Yaxşı’ və ‘Əla’ kimi adlandırılmışdır. Cəm ballarının paylanmasının analızı bu hissələr üzrə aparılır.
Ibt_S_22_S <- Ibt_S_22 %>%
mutate(Sev_Bal = case_when(
Bal >= 0 & Bal < 20 ~ 'Çox_pis',
Bal >= 20 & Bal < 30 ~ 'Pis',
Bal >= 30 & Bal < 40 ~ 'Orta',
Bal >= 40 & Bal < 50 ~ 'Yaxşı',
Bal >= 50 & Bal <= 60 ~ 'Əla'))
df <- as.data.frame(Ibt_S_22_S)
score <- df$Bal
cut <- median(score) # cut-score
color <- c(rep("red", cut - min(score)), "gray", rep("blue", max(score) - cut))
df <- data.frame(score)
# histogram
library(ggplot2)
library(ShinyItemAnalysis)
P_21_9_Bal <- ggplot(df, aes(score)) +
geom_histogram(binwidth = 1, fill = color, col = "black") +
xlab("Cəm ballar") +
ylab("Cavab verənlərin sayı") +
theme_app()
P_21_9_Bal
df <- as.data.frame(Ibt_S_22_S)
score <- df$Bal_Ix
cut <- median(score) # cut-score
color <- c(rep("red", cut - min(score)), "gray", rep("blue", max(score) - cut))
df <- data.frame(score)
# histogram
library(ggplot2)
library(ShinyItemAnalysis)
P_21_9_Bal <- ggplot(df, aes(score)) +
geom_histogram(binwidth = 1, fill = color, col = "black") +
xlab("İxtisasdan balların tezliyi") +
ylab("İxtisasdan cəm ballar") +
theme_app()
P_21_9_Bal
df <- as.data.frame(Ibt_S_22_S)
score <- df$Bal_Met
cut <- median(score) # cut-score
color <- c(rep("red", cut - min(score)), "gray", rep("blue", max(score) - cut))
df <- data.frame(score)
# histogram
library(ggplot2)
library(ShinyItemAnalysis)
P_21_9_Bal <- ggplot(df, aes(score)) +
geom_histogram(binwidth = 1, fill = color, col = "black") +
xlab("Metodikadan balların tezliyi") +
ylab("Balların tezliyi") +
theme_app()
P_21_9_Bal
theme_set(theme_classic())
G2 <- ggplot(Ibt_S_22_S, aes(Bal))
G2 + geom_density(aes(fill= factor(Bölmə), alpha=0.8)) +
labs(title = "Bölmələr üzrə ümumi balların orta qiyməti",
x="Cəm ballar")
g <- ggplot(Ibt_S_22_S, aes(Bölmə, Bal))
g + geom_boxplot(aes(fill = factor(Bölmə))) +
theme(axis.text.x = element_text(angle=65, vjust=0.6)) +
labs(title="Bölmələr üzrə ümumi balların bığlı qutu təqvimi",
caption="Source: DF",
x = "Bölmə",
y = "Cəm ballar")
theme_set(theme_classic())
G2 <- ggplot(Ibt_S_22_S, aes(Bal_Ix))
G2 + geom_density(aes(fill= factor(Bölmə), alpha=0.8)) +
labs(title = "Bölmələr üzrə ümumi balların sıxlıq qqrafiki",
x="Cəm ballar")
g <- ggplot(Ibt_S_22_S, aes(Bölmə, Bal_Ix))
g + geom_boxplot(aes(fill = factor(Bölmə))) +
theme(axis.text.x = element_text(angle=65, vjust=0.6)) +
labs(title="Bölmələr üzrə ixtisasdan cəm balların bığlı qutu təsviri",
caption="Source: DF",
x = "Bölmələr",
y = "Cəm ballar")
theme_set(theme_classic())
G2 <- ggplot(Ibt_S_22_S, aes(Bal_Met))
G2 + geom_density(aes(fill= factor(Bölmə), alpha=0.8)) +
labs(title = "Bölmələr üzrə ümumi balların sıxlıq qrafiki",
x="Cəm ballar")
g <- ggplot(Ibt_S_22_S, aes(Bölmə, Bal_Met))
g + geom_boxplot(aes(fill = factor(Bölmə))) +
theme(axis.text.x = element_text(angle=65, vjust=0.6)) +
labs(title="Metodikadan bölmələr üzrə ümumi balların bığlı qutu təsviri",
caption="Source: DF",
x = "Bölmələr",
y = "Cəm ballar")
Ibt_S_22_S_Im_mərkəzi <- Ibt_S_22_S %>%
group_by(Im_mərkəzi) %>%
summarise(Müəl_sayı = n(),
Orta_Bal = round(mean(Bal),2),
Orta_Bal_Ix= round(mean(Bal_Ix),2),
Orta_Bal_Met= round(mean(Bal_Met),2),
Orta_Kr_Alfa = round(mean(Kr_alfa),2),
Orta_Məl_Miq = round(mean(Məl_Miq),2)) %>%
arrange(desc(Orta_Bal))
theme_set(theme_classic())
G2 <- ggplot(Ibt_S_22_S, aes(Bal))
G2 + geom_density(aes(fill= factor(Im_mərkəzi), alpha=0.8)) +
labs(title = "İmtahan mərkəzləri üzrə ümumi balların sıxlıq qrafiki",
x="Cəm ballar")
g <- ggplot(Ibt_S_22_S, aes(Im_mərkəzi, Bal))
g + geom_boxplot(aes(fill = factor(Im_mərkəzi))) +
theme(axis.text.x = element_text(angle=65, vjust=0.6)) +
labs(title="İmtahan mərkəzləri üzrə ümumi balların bığlı qutu təsviri",
caption="Source: DF",
x = "İmtahan mərkəzləri",
y = "Cəm ballar")
theme_set(theme_classic())
G2 <- ggplot(Ibt_S_22_S, aes(Bal_Ix))
G2 + geom_density(aes(fill= factor(Im_mərkəzi), alpha=0.8)) +
labs(title = "İmtahan mərkəzləri üzrə ixtisasdan cəm balların sıxlıq qrafiki",
x="Cəm ballar")
g <- ggplot(Ibt_S_22_S, aes(Im_mərkəzi, Bal))
g + geom_boxplot(aes(fill = factor(Im_mərkəzi))) +
theme(axis.text.x = element_text(angle=65, vjust=0.6)) +
labs(title="İmtahan mərkəzləri üzrə ixtisasdan balların bığlı qutu təqdimi",
caption="Source: DF",
x = "Im_mərkəzi",
y = "Cəm ballar")
theme_set(theme_classic())
G2 <- ggplot(Ibt_S_22_S, aes(Bal_Ix))
G2 + geom_density(aes(fill= factor(Im_mərkəzi), alpha=0.8)) +
labs(title = "İmtahan mərkəzləri üzrə metodikadan cəm balların sıxlıq qrafiki",
x="Cəm ballar")
g <- ggplot(Ibt_S_22_S, aes(Im_mərkəzi, Bal))
g + geom_boxplot(aes(fill = factor(Im_mərkəzi))) +
theme(axis.text.x = element_text(angle=65, vjust=0.6)) +
labs(title="İmtahan mərkəzləri üzrə metodikadan cəm balların bığlı qutu təqdimi",
caption="Source: DF",
x = "İmtahan mərkəzləri",
y = "Cəm ballar")
library(readr)
Yekun <- read_csv("Yekun.csv")
Yekun$Sev_Bal <- ordered(Yekun$Sev_Bal ,
levels = c("Çox_pis", "Pis", "Orta","Yaxşı", "Əla"))
Yekun$Sev_Bal <- as.numeric(Yekun$Sev_Bal)
str(Yekun)
## spec_tbl_df [10,944 × 18] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ Sıra : num [1:10944] 15002888 15002889 15002892 15002893 15002899 ...
## $ Im_mərkəzi: chr [1:10944] "Xaçmaz_6" "Xaçmaz_6" "Xaçmaz_6" "Xaçmaz_6" ...
## $ Variant : num [1:10944] 1 1 1 1 1 1 1 1 1 1 ...
## $ Fənn : chr [1:10944] "İbtidai sinif" "İbtidai sinif" "İbtidai sinif" "İbtidai sinif" ...
## $ Bölmə : chr [1:10944] "Azərbaycan" "Azərbaycan" "Azərbaycan" "Azərbaycan" ...
## $ Cinsi : chr [1:10944] "Qadın" "Qadın" "Qadın" "Qadın" ...
## $ Y_rayon : chr [1:10944] "Xaçmaz" "Xaçmaz" "Xaçmaz" "Xaçmaz" ...
## $ Bal : num [1:10944] 34 18 49 26 36 46 29 34 35 15 ...
## $ Bal_Ix : num [1:10944] 32 18 41 22 31 38 26 30 29 15 ...
## $ Bal_Met : num [1:10944] 2 0 8 4 5 8 3 4 6 0 ...
## $ Kr_alfa : num [1:10944] 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 ...
## $ Yox_Cav : num [1:10944] 6.33 6.33 6.33 6.33 6.33 6.33 6.33 6.33 6.33 6.33 ...
## $ Məl_Miq : num [1:10944] 78.5 78.5 78.5 78.5 78.5 ...
## $ Yar_T : num [1:10944] 0 0 0 0 0 0 0 0 0 0 ...
## $ Qüs_T : num [1:10944] 9 9 9 9 9 9 9 9 9 9 ...
## $ Test_S : chr [1:10944] "Test_asandır" "Test_asandır" "Test_asandır" "Test_asandır" ...
## $ Seans : chr [1:10944] "Seans_453" "Seans_453" "Seans_453" "Seans_453" ...
## $ Sev_Bal : num [1:10944] 3 1 4 2 3 4 2 3 3 1 ...
## - attr(*, "spec")=
## .. cols(
## .. Sıra = col_double(),
## .. Im_mərkəzi = col_character(),
## .. Variant = col_double(),
## .. Fənn = col_character(),
## .. Bölmə = col_character(),
## .. Cinsi = col_character(),
## .. Y_rayon = col_character(),
## .. Bal = col_double(),
## .. Bal_Ix = col_double(),
## .. Bal_Met = col_double(),
## .. Kr_alfa = col_double(),
## .. Yox_Cav = col_double(),
## .. Məl_Miq = col_double(),
## .. Yar_T = col_double(),
## .. Qüs_T = col_double(),
## .. Test_S = col_character(),
## .. Seans = col_character(),
## .. Sev_Bal = col_character()
## .. )
## - attr(*, "problems")=<externalptr>
clrs_Seans <- c("red", "blue", "green","black", "brown")
clrs5 <- c("firebrick4", "firebrick1", "gray70", "blue", "darkblue")
# create cumulative density plot
Yekun_1 <- Yekun %>%
dplyr::select(Seans, Sev_Bal)
Yekun_1 %>%
ggplot(aes(x = Sev_Bal, color = Seans)) +
geom_step(aes(y = ..y..), stat = "ecdf") +
labs(y = "Cumulative Density") +
scale_x_discrete(limits = c("1","2","3","4","5"),
breaks = c(1,2,3,4,5),
labels=c("Çox_pis", "Pis",
"Orta", "Yaxşı", "Əla")) +
scale_colour_manual(values = clrs_Seans ) +
theme_bw()
Yekun_1_P <- Yekun_1 %>%
dplyr::group_by(Sev_Bal) %>%
dplyr::summarise(Frequency = n()) %>%
dplyr::mutate(Percent = round(Frequency/sum(Frequency)*100, 1)) %>%
# order the levels of Satisfaction manually so that the order is not alphabetical
dplyr::mutate(Sev_Bal = factor(Sev_Bal,
levels = 1:5,labels = c("Çox_pis", "Pis",
"Orta", "Yaxşı", "Əla")))
# create pie chart
Yekun_1_P %>%
ggplot(aes("", Percent, fill = Sev_Bal)) +
geom_bar(stat="identity", width=1, color = "white") +
coord_polar("y", start=0) +
scale_fill_manual(values = clrs5) +
theme_void()
#################
P_Yekun_1_P <- Yekun_1_P %>%
dplyr::arrange(desc(Sev_Bal)) %>%
dplyr::mutate(Position = cumsum(Percent)- 0.5*Percent)
# create pie chart
P_Yekun_1_P %>%
ggplot(aes("", Percent, fill = Sev_Bal)) +
geom_bar(stat="identity", width=1, color = "white") +
coord_polar("y", start=0) +
scale_fill_manual(values = clrs5) +
theme_void() +
geom_text(aes(y = Position, label = Percent), color = "white", size=6)
G_Yekun_1_P <- Yekun_1 %>%
dplyr::group_by(Seans, Sev_Bal) %>%
dplyr::summarise(Frequency = n()) %>%
dplyr::mutate(Percent = round(Frequency/sum(Frequency)*100, 1),
Sev_Bal = factor(Sev_Bal,
levels = 1:5,
labels = c("Çox_pis", "Pis",
"Orta", "Yaxşı", "Əla"))) %>%
dplyr::arrange(desc(Sev_Bal)) %>%
dplyr::mutate(Position = cumsum(Percent)- 0.5*Percent)
# create pie chart
G_Yekun_1_P %>%
ggplot(aes("", Percent, fill = Sev_Bal)) +
facet_wrap(~Seans) +
geom_bar(stat="identity", width=1, color = "white") +
coord_polar("y", start=0) +
scale_fill_manual(values = clrs_Seans) +
theme_void() +
geom_text(aes(y = Position, label = Percent), color = "white", size=4)
P_Yekun_1_P %>%
ggplot(aes(Sev_Bal, Percent, fill = Sev_Bal)) +
# determine type of plot
geom_bar(stat="identity") +
# use black & white theme
theme_bw() +
# add and define text
geom_text(aes(y = Percent-5, label = Percent), color = "white", size=3) +
# add colors
scale_fill_manual(values = clrs5) +
# suppress legend
theme(legend.position="none")
# create bar plot data
Bar_Yekun <- Yekun %>%
dplyr::group_by(Seans, Sev_Bal) %>%
dplyr::summarise(Frequency = n()) %>%
dplyr::mutate(Percent = round(Frequency/sum(Frequency)*100, 1)) %>%
dplyr::mutate(Sev_Bal = factor(Sev_Bal,
levels = 1:5,
labels = c("Çox_pis", "Pis",
"Orta", "Yaxşı", "Əla")))
Bar_Yekun %>%
ggplot(aes(Sev_Bal, Frequency, fill = Seans)) +
geom_bar(stat="identity", position = position_dodge()) +
# define colors
scale_fill_manual(values = clrs_Seans) +
# add text
geom_text(aes(label=Frequency), vjust=1.6, color="white",
# define text position and size
position = position_dodge(0.9), size=3.5) +
theme_bw()
# create grouped bar plot
Bar_Yekun %>%
ggplot(aes(Sev_Bal, Frequency,
fill = Sev_Bal,
color = Sev_Bal)) +
facet_grid(~Seans) +
geom_bar(stat="identity", position=position_dodge()) +
geom_line() +
# define colors
scale_fill_manual(values=clrs_Seans) +
scale_color_manual(values=clrs_Seans) +
# add text and define color
geom_text(aes(label=Frequency), vjust=1.6, color="white",
# define text position and size
position = position_dodge(0.9), size=3.5) +
theme_bw() +
theme(axis.text.x=element_blank())