Türkiye Uluslararası Eğitim Verisi (tuev) geniş kapsamlı uluslararası başarı değerlendirme programlarından PISA ve TIMSS Türkiye verilerini depolayan bir R kütüphanesidir. Bu sayfada da PISA 2018 (OECD, 2019) ve TIMSS 2019 (Mullis, Martin, Foy, Kelly, & Fishbein; 2020) verisinden seçilen ölçek ve değişkenler kullanılarak grafikler oluşturulmuştur. Grafikler plotly (Sievert, 2020) kütüphanesi kullanılarak oluşturularak kullanıcı ile etkileşim oluşturmak amaçlanmıştır.
library(plotly)
devtools::install_github("tuevpaket/tuev")
library("tuev")
## Veri Hazirlama
# gorsellestirme icin degisken secimi
dat <- PISA_OGR_2018 %>%
select(CINSIYET, SINIF,KITAPSAYISI, SES, Anne_Egitim, Baba_Egitim,Okuloncesi_yil,OKUL_TUR,OKUMA_ZEVK,
OK_YETERLIK,ODOKUMA1)
# kategorik degişkenlerin faktor olarak kaydı
dat <- dat %>% mutate_if(is.labelled, sjlabelled::as_factor)
# Faktor degiskenlere duzey atama amacıyla yazılan fonksiyon
levelsnames <- function(x){
levels(x) <- names(attr(x,"labels"))
x
}
# # Yazılan fonkisyonun faktor degiskenlere uygulanması
dat <-mutate_if(dat,is.factor, levelsnames)
head(dat)
## # A tibble: 6 x 11
## CINSIYET SINIF KITAPSAYISI SES Anne_Egitim Baba_Egitim Okuloncesi_yil
## <fct> <fct> <fct> <dbl> <fct> <fct> <fct>
## 1 Erkek SINIF 10 11-25 kitap -2.45 Ortaokul Ortaokul 2 yildan az
## 2 Erkek SINIF 10 26-100 kitap -2.10 Ortaokul Ortaokul 2 yildan az
## 3 Kiz SINIF 10 0-10 kitap -2.27 Ilkokul Ortaokul 2 yildan az
## 4 Erkek SINIF 9 0-10 kitap 0.0324 Lisans ustu Lisans ustu 2 yildan az
## 5 Erkek SINIF 9 11-25 kitap -0.0674 Onlisans Onlisans <NA>
## 6 Erkek SINIF 10 11-25 kitap 0.398 Onlisans Lisans ustu <NA>
## # ... with 4 more variables: OKUL_TUR <fct>, OKUMA_ZEVK <dbl>,
## # OK_YETERLIK <dbl>, ODOKUMA1 <dbl>
Aşağıdaki görsellerde okuma başarısını etkileyebilecek değişkenlere göre okuma başarısının dağılımı betimlenmiştir. Okuma puanı için 2018 yılında uygulanan PISA sınavı okuma başarısı için hesaplanan 10 olası puan değerinden (plausible value) ilki kullanılmıştır. Bu görsellerin hazırlanma amacı veriyi tanıtmak amaçlı olup istatiksel analizlerde olası değerlerin hepsi kullanılmalıdır.
datt <- dat %>% group_split(Anne_Egitim)
#datt[1][[1]]
OD_1 <- density(datt[1][[1]]$ODOKUMA1, na.rm = TRUE)
OD_2 <- density(datt[2][[1]]$ODOKUMA1, na.rm = TRUE)
OD_3 <- density(datt[3][[1]]$ODOKUMA1, na.rm = TRUE)
OD_4 <- density(datt[4][[1]]$ODOKUMA1, na.rm = TRUE)
OD_5 <- density(datt[5][[1]]$ODOKUMA1, na.rm = TRUE)
OD_6 <- density(datt[6][[1]]$ODOKUMA1, na.rm = TRUE)
OD_7 <- density(datt[7][[1]]$ODOKUMA1, na.rm = TRUE)
plot_ly() %>%
add_lines(x = ~OD_1$x, y = ~OD_1$y, name = "Okul_oncesi", fill = 'tozeroy') %>%
add_lines(x = ~OD_2$x, y = ~OD_2$y, name = "Ilkokul", fill = 'tozeroy') %>%
add_lines(x = ~OD_3$x, y = ~OD_3$y, name = "Ortaokul", fill = 'tozeroy') %>%
add_lines(x = ~OD_4$x, y = ~OD_4$y, name = "Lise", fill = 'tozeroy') %>%
add_lines(x = ~OD_5$x, y = ~OD_5$y, name = "Önlisans", fill = 'tozeroy') %>%
add_lines(x = ~OD_6$x, y = ~OD_6$y, name = "Lisans", fill = 'tozeroy') %>%
add_lines(x = ~OD_7$x, y = ~OD_7$y, name = "Lisansustu", fill = 'tozeroy') %>%
layout(xaxis = list(title = 'Okuma Başarı Puanı (OD1)'),
yaxis = list(title = 'Yoğunluk'))
dat %>%
plot_ly(x = ~ODOKUMA1, y = ~SES, color = ~factor(Anne_Egitim)) %>%
add_markers() %>%
layout(boxmode = "group")%>%
layout(legend=list(title=list(text='<b> Anne Eğitimi </b>')))%>%
layout(
xaxis = list(title = "Okuma Basari Puanı (OD1)" ,range = c(180,810)),
yaxis = list(title = "Sosyoekonomik Duzey",range = c(-5,4))
)
dat %>%
plot_ly(x = ~ODOKUMA1, y = ~SES, color = ~Baba_Egitim) %>%
add_markers() %>%
layout(boxmode = "group")%>%
layout(legend=list(title=list(text='<b> Baba Eğitimi </b>')))%>%
layout(
xaxis = list(title = "Okuma Basari Puanı (OD1)",range = c(180,810)),
yaxis = list(title = "Sosyoekonomik Duzey",range = c(-5,4))
)
dat %>%
filter(!is.na(Okuloncesi_yil)) %>%
plot_ly(x = ~Okuloncesi_yil, y = ~ODOKUMA1, color = ~(Anne_Egitim)) %>%
add_boxplot() %>%
layout(boxmode = "group")%>%
layout(legend=list(title=list(text='<b> Anne_Egitim </b>')))%>%
layout(
xaxis = list(title = "Okul Öncesi Eğitimi Süresi"),
#title = "Matematik Puanı Dağılımı",
yaxis = list(title = "Okuma Basari Puanı (OD1)",range = c(180,800)))
dat %>%
#filter(!is.na(Okuloncesi_yil)) %>%
plot_ly(x = ~KITAPSAYISI, y = ~ODOKUMA1) %>%
add_boxplot() %>%
layout(
xaxis = list(title = "Evdeki Kitap Sayısı"),
#title = "Matematik Puanı Dağılımı",
yaxis = list(title = "Okuma Basari Puanı (OD1)"))
dat %>%
count(Baba_Egitim,KITAPSAYISI) %>%
plot_ly(x = ~ KITAPSAYISI, y = ~n, hoverinfo = "y",color=~factor(Baba_Egitim)) %>%
add_bars()%>%
#layout(barmode = "stack") %>%
layout(legend=list(title=list(text='<b> Baba Egitimi </b>')))%>%
layout(
xaxis = list(title = "Evdeki Kitap Sayısı"),
yaxis = list(title = "Frekans",range = c(0,600)))
dat %>%
count(Anne_Egitim,KITAPSAYISI) %>%
plot_ly(x = ~ KITAPSAYISI, y = ~n, hoverinfo = "y",color=~factor(Anne_Egitim)) %>%
add_bars()%>%
#layout(barmode = "stack") %>%
layout(legend=list(title=list(text='<b> Anne Egitimi </b>')))%>%
layout(
xaxis = list(title = "Evdeki Kitap Sayısı"),
yaxis = list(title = "Frekans",range = c(0,610)))
SES puanı en yüksek 100 kişinin devam ettiği okul türü gösterilmiştir.
dat %>%
top_n(100, wt = SES) %>%
plot_ly(x = ~ODOKUMA1, y = ~fct_reorder(OKUL_TUR, ODOKUMA1)) %>%
add_markers() %>%
layout(xaxis = list(title = "Okuma Basari Puanı (OD1)"),
yaxis = list(title = ".", type = "category"))
SES puanı en düşük 100 kişinin devam ettiği okul türü gösterilmiştir.
dat %>%
top_n(-100, wt = SES) %>%
plot_ly(x = ~ODOKUMA1, y = ~fct_reorder(OKUL_TUR, ODOKUMA1)) %>%
add_markers() %>%
layout(xaxis = list(title = "Okuma Basari Puanı (OD1)"),
yaxis = list(title = ".", type = "category"))
Aşağıdaki görsellerde matematik başarısını etkileyebilecek değişkenlere göre matematik başarısının dağılımı betimlenmiştir. Bu görseller 2019 yılında dördüncü sınıflara uygulanan TIMSS sınavı genel matematik başarısı için hesaplanan beş olası puan değerinden (plausible value) ilki kullanılarak hazırlanmıştır. Görsellerin hazırlanma amacı veriyi tanıtmak amaçlı olup istatiksel analizlerde olası değerlerin hepsi kullanılmalıdır (Martin, von Davier, & Mullis; 2020).
dat %>%
filter(!is.na(ASDHAPS)) %>%
plot_ly(x = ~ITSEX, y = ~ASMMAT01, color = ~factor(ASDHAPS)) %>%
add_boxplot() %>%
layout(boxmode = "group")%>%
layout(legend=list(title=list(text='<b> Okul Öncesi Eğitimi </b>')))%>%
layout(
xaxis = list(title = "Öğrencinin Cinsiyeti"),
#title = "Matematik Puanı Dağılımı",
yaxis = list(title = "Matematik için Olası Değer 1 Puanı"))
dat %>%
filter(!is.na(ASDHEDUP)) %>%
plot_ly(x = ~ASDHAPS, y = ~ASMMAT01, color = ~factor(ASDHEDUP)) %>%
add_boxplot() %>%
layout(boxmode = "group")%>%
layout(legend=list(title=list(text='<b> Anne-Baba Eğitimi </b>')))%>%
layout(
xaxis = list(title = "Okul Öncesi Eğitimi"),
#title = "Matematik Puanı Dağılımı",
yaxis = list(title = "Matematik için Olası Değer 1 Puanı"))
dat %>%
filter(!is.na(ACDGSBC)) %>%
plot_ly(x = ~ACDGSBC, y = ~ASMMAT01, color = ~factor(ASDHAPS)) %>%
add_boxplot() %>%
layout(boxmode = "group")%>%
layout(legend=list(title=list(text='<b> Okul Öncesi Eğitimi </b>')))%>%
layout(
xaxis = list(title = "Sosyoekonomik Düzey"),
#title = "Matematik Puanı Dağılımı",
yaxis = list(title = "Matematik için Olası Değer 1 Puanı"))
dat %>%
filter(!is.na(ASDHEDUP)) %>%
plot_ly(x = ~ACDGSBC, y = ~ASMMAT01, color = ~factor(ASDHEDUP)) %>%
add_boxplot() %>%
layout(boxmode = "group")%>%
layout(legend=list(title=list(text='<b> Anne-Baba Eğitimi </b>')))%>%
layout(
xaxis = list(title = "Sosyoekonomik Düzey"),
#title = "Matematik Puanı Dağılımı",
yaxis = list(title = "Matematik için Olası Değer 1 Puanı"))
Bu ölçek evdeki kitap sayısı, eve internet bağlantısının varlığı, öğrencinin kişisel odasının varlığı ve anne-babanın eğitim seviyesi kullanılarak oluşturulmuştur.
dat %>%
filter(!is.na(ASDGHRL)) %>%
plot_ly(x = ~ASDGHRL, y = ~ASMMAT01, color = ~factor(ASDHEDUP)) %>%
add_boxplot() %>%
layout(boxmode = "group")%>%
layout(legend=list(title=list(text='<b> Anne-Baba Eğitimi </b>')))%>%
layout(
xaxis = list(title = "Evdeki Kaynaklar"),
#title = "Matematik Puanı Dağılımı",
yaxis = list(title = "Matematik için Olası Değer 1 Puanı"))
dat %>%
filter(!is.na(ASDHELN)) %>%
plot_ly(x = ~ASDHELN, y = ~ASMMAT01, color = ~factor(ASDHAPS)) %>%
add_boxplot() %>%
layout(boxmode = "group")%>%
layout(legend=list(title=list(text='<b> Okul Öncesi Eğitimi </b>')))%>%
layout(
xaxis = list(title = "Okuma-yazma ve Matematiksel Etkinlikler"),
#title = "Matematik Puanı Dağılımı",
yaxis = list(title = "Matematik için Olası Değer 1 Puanı"))
dat %>%
filter(!is.na(ASDHEDUP)) %>%
plot_ly(x = ~ASDHELN, y = ~ASMMAT01, color = ~factor(ASDHEDUP)) %>%
add_boxplot() %>%
layout(boxmode = "group")%>%
layout(legend=list(title=list(text='<b> Anne-Baba Eğitimi </b>')))%>%
layout(
xaxis = list(title = "Okuma-yazma ve Matematiksel Etkinlikler"),
yaxis = list(title = "Matematik için Olası Değer 1 Puanı"))
Martin, M. O., von Davier, M., & Mullis, I. V. S. (Eds.). (2020). Methods and Procedures: TIMSS 2019 Technical Report. Boston College, TIMSS & PIRLS International Study Center website: https://timssandpirls.bc.edu/timss2019/methods adresinden erişildi.
Mullis, I. V. S., Martin, M. O., Foy, P., Kelly, D. L., & Fishbein, B. (2020). TIMSS 2019 International Results in Mathematics and Science. Boston College, TIMSS & PIRLS International Study Center website: https://timssandpirls.bc.edu/timss2019/international-results/ adresinden erişildi.
OECD (2019). PISA 2018 Assessment and Analytical Framework. PISA, OECD Publishing, Paris, https://doi.org/10.1787/b25efab8-en adresinden erişildi.
Sievert, C. (2020). Interactive Web-Based Data Visualization with R, plotly, and shiny. Florida: Chapman and Hall/CRC.