Not: Bu sayfalari olusturmak için kullandigimiz R Markdown bütün Türkçe karakterleri desteklemedigi için yazimda sikintilar olusmakta. O yüzden özür dileriz.

Hatirlatmalar

      Bu bölümde PISA analiz edilirken dikkat edilmesi gereken birkaç noktaya dikkat çekip, PISA veri setlerini R programinda dogru bir sekilde analiz etmek için gelistirilmis olan intsvy paketinin kisa bir tanitimini yapacagiz.

      Öncelikle hatirlanmasi gereken nokta PISA örnekleminin nasil seçildigidir. PISA’da önce okullar, sonrasinda da okul içinde ögrenciler seçilmektedir. Okullar seçilirken genelde çesitli nedenlerden dolayi tabakali örnekleme denen bir yöntem kullanilmaktadir. Bu durumda bazi tur okullarin diger tür okullara göre PISA çalismasinda daha fazla veya daha az temsil edilmesi mümkün olabilmektedir. Ayni zamanda bir okulun seçilme olasiligi okulun 15 yas ögrenci sayisi ile dogru orantilidir. Yani 15 yas ögrenci sayisi çok olan okullarin çalismaya katilmasi daha olasi iken az olan okullarin seçilmesi daha az olasidir. Okullarda ögrencilerin yaslari ile ilgili bilgilerin dogru veya güncel olmamasi durumunda örneklemde hatalar olusabilmektedir. Son olarak da, seçilen okulda yine rastgele seçilen her ögrenci PISA çalismasina katilmayi kabul etmeyebilmektedir. Mesela, bir okulda PISA’ya katilmasi için seçilen ögrencilerden kiz ögrenciler çalismaya katilmaya daha istekli olup erkek ögrenciler katilmak istemeyebilirler. Dolayisi ile pratikte farkli sebeblerden dolayi isteyerek veya istemeyerek seçilen örneklem ülkedeki 15 yas popülasyonunu tam olarak temsil etmeyebilir. Bu yüzden bütün bu degisik faktörler hesaba katilarak herbir okul ve ögrenci için bir örneklem agirlik katsayisi (sample weights) hesaplanmaktadir. Yapilan analizlerde kestirilen parametrelerin yanli olmamasi, ve popülasyonu dogru temsil etmesi için bu agirlik katsayilarinin kullanilmasi gerekmektedir.

     Bir baska nokta da ogrenciler direkt olarak rastgele seçilmediginden ve ayni okulun içindeki ögrenciler bir çok demografik degisken bakimindan birbirlerine benzer olabileceginden bu durum istatiksel olarak dikkate alinmalidir. Aksi takdirde kestirilen parametrelerin standard hatalarin oldugundan küçük hesaplanmakta ve bu durumda yapilan çikarimlarda hata yapma orani artmaktadir. Bunun için yine PISA veri setlerinde farkli agirlik katsayilari hesaplanmaktadir (replicate weights), ve analizler yine bu katsayilari dikkate alarak yapilmalidir.

      Son olarak, PISA da bir ögrencinin bir konuda tek bir basari puani hesaplanmamaktadir. Mesela 2015 yilinda her ögrenci için matematik, fen, ve okuma alaninda 10 farkli basari puani bulunmaktadiar (plausible values). Herhangi bir analiz herbir puan üzerinden 10 defa yapilmali, ve sonuçlar daha sonra özel bir metodla biraraya getirilip parametreler ve standard hatalari kestirilmelidir. Bunun amaci hem örneklem hatasinin hem de test sorularindan kaynaklanan ölçme hatalarinin beraber dikkate alinmasini saglamaktir.

      Hiç unutulmamasi gereken bir nokta ise yapilan bütün analizlerde PISA ve benzeri veri setlerinden hiçbir sekilde dogrudan “causal” yani nedensellik içeren çikarimlarda bulunulmamasidir. Bu veri setlerinden nedensellik içeren çikarimlarda bulunabilmek için çok komplike yöntemler kullanilmasi gerekir. Mesela, ilgilenenler su makalede sinif büyüklügünün basariya etkisinin nasil analiz edildigini okuyabilir. Kaldiki bu tür yöntemlerin de metodolojik olarak hala eksiklikleri bulunmaktadir.

R paketi intsvy’nin kullanimi

      PISA ve benzeri veri setlerinin analizinde dikkat edilmesi gereken noktalari çok basit bir sekilde hatirlattiktan sonra bunlarin nasil yapabilecegi ustunde durabiliriz. Öncelikle söylemek gerekir ki PISA kendi websitesinde Data Explorer veya PISA Education GPS gibi araçlarla analizler yapilmasina imkan vermektedir. Ancak bu tür analizler ne yazik ki betimsel istatistiklerden öteye gitmemektedir. PISA gibi çok zengin bir veri setini sadece betimsel istatistikler üzerinden tartismanin elmasi bit pazarinda satmaya çalismakdan farki yoktur (örnek olarak sadece ortalamalar üzerinde TR’nin 2015 yilindaki düsüsü üzerinde yapilan tartismalar gibi). Ayni zamanda bu araçlarla genelde belli bir senenin verileri analiz edilmekte ve seneler arasindaki trend analizleri gözden kaçmaktadir. PISA’nin yayinlanan raporlarinda ise belli basli degiskenler yer almakta ve onlarca diger degisken kullanilmamakta veya tartisilmamaktadir. Bu yüzden ham veri setlerinin SPSS, SAS, veya R gibi yazilimlarla detayli bir sekilde analizlerin yapilmasi önemlidir. SPSS ve SAS lisansli yazilimlar olup kullanmak için para ödenmesi gerekmektedir. Birçok egitimci ve arastirmacinin bu paralari ödeme lüksü yoktur. Ayni zamanda, SPSS ve SAS’da bu verilerin analizi yine çok basit degildir, ve kullanicinin “syntax” diline hakim olmasi gerekmektedir. Bunlarin alternatifi olarak R programi bedavadir. Hiç bilmeyenlerin ilk basta zorlanmasi normal olmakla birlikte kisa süre içinde kullanicilar kendilerini gelistirip yetkin hale gelebilirler. R ayni zamanda SPSS ve SAS’a oranla grafik kapasitesi olarak daha esnek ve güçlü bir programdir. Dahasi, dünyanin dört bir yaninda alaninda uzman kisiler kullanilmasi için paketler yazip bunlari yine bedava erisilebilir hale getirmektedir.

      Iste burda tanitacagimiz intsvy yazilimi da iki arastirmacinin PISA ve benzeri uluslararasi veri setlerini analiz etmek için gelistirdigi bir paket program. Detayli içerigine su linkten ulasabilirsiniz https://cran.r-project.org/web/packages/intsvy/intsvy.pdf. Simdi basit bir örnekle bu paketi nasil kullanabilecegimizi görelim.

  1. önceki yazida tarif edildigi sekilde RStudio programini açip PISA veri setlerini yüklemeniz gerekiyor.

     

  1. Daha sonra menüden File –> New File –> R Script seçeneklerini tikladigimizda sol üst tarafta bos bir panel açildigini göreceksiniz.

     

     

  1. Sonrasinda yapmaniz gereken intsvy paketini bilgisayariniza yüklemek. R studio bilgisayara kuruldugunda bilgisayarinizda bir yerde “library” adinda bir dosya olusturur. Bunun içinde kendiliginden gelen ve basit analizleri yapmak için kullanilabilecek paketler olur. Ancak diger paketleri kullanmak istediginizde bu paketleri bilgisayariniza indirmeniz gerekmekte. Sol üst kösedeki interaktif olmayan panele asagidaki kodu yazip, hepsini seçtikten sonra panelin sag üst kösesindeki Run dügmesine basarsaniz sag üst taraftaki panelde kodun çalistigini ve simdilik gerekli olan paketleri yükledigini görebilirsiniz.

     

install.packages("devtools")

library(devtools)

install_github("eldafani/intsvy",dependencies=TRUE) 

library(intsvy)

     

  1. Simdi örnek olmasi açisindan 2015 yilindaki Türkiye örnekleminde “ESCS” degiskenini inceleyip, ortalamasini hesaplayalim. Burda ortalamasini hesaplarken örnek olmasi açisindan iki turlu hesaplayacagiz. Veri setindeki önceden bahsettigimiz agirlik katsayilarini hesaba katmayarak ve hesaba katarak.
# Ilk olarak Turkiye verisini suzup ayiralim

 pisa_2015_stu_TUR <- subset(pisa_2015_stu,CNT=='Turkey')

 dim(pisa_2015_stu_TUR)
## [1] 5895  921
    # Suzdugumuz veride 5895 ogrenci ve 921 degisken var.

# Bu suzdugumuz verideki ESCS ortalamasinin ve standard 
# hatasinin normal olarak hesaplanmasi

  mean(pisa_2015_stu_TUR$ESCS,na.rm=TRUE)
## [1] -1.447651
  sd(pisa_2015_stu_TUR$ESCS,na.rm=TRUE)/sqrt(5895)
## [1] 0.01518541
# Bu suzdugumuz verideki yas ortalamasinin agirlik 
# katsayilarinin hesaba katilarak intsvy paketindeki ozel bir fonksiyonla hesaplanmasi

  pisa2015.mean(variable="ESCS",data=pisa_2015_stu_TUR)
##   Freq  Mean s.e.   SD  s.e
## 1 5859 -1.43 0.05 1.17 0.02
    # Burda kullanilan "pisa2015.mean" intsvy paketinde 
    # bulunan ve bu amacla hazirlanmis ozel bir fonksiyon

     

     Görüldügü gibi kestirilen ortalama her iki yontemde çok farkli olmamakla beraber agirlik katsayilari kullanildiginda standard hata daha yüksektir.

  1. Simdi de meseleyi bir adim daha ileriye götürüp, Türkiye’den sinava katilan ögrencilerin ESCS degiskeni üzerinden seneler açisinda nasil degistigine bakalim. Bu degisken PISA’nin her ögrenci için hesapladigi ekonomik, sosyal, ve kültürel statü indeksidir. PISA bu degiskeni hesaplarken ögrencilerin ebeveynlerinin egitim durumlari, mesleki durumlari, ailenin varlik durumu, evde bulunan egitimsel kaynaklar ve diger esyalar gibi bilgileri kullaniyor. Standard hale getirilmis bir skor oldugundan genel olarak -3 ve 3 arasinda degerlere sahip. Bu degisken hesaplanirken OECD ülkelerinin ortalamasi 0 olacak sekilde ve standard sapmasi da 1 olacak sekilde hesaplaniyor. OECD bu degiskenin hesaplanmasini yillar arasinda degistirdiginden 2015 yilinda kullandigi yöntemi kullanarak geçmise dönük bu degiskeni her yil için tekrar hesaplayip web sitesine koydu. Böylece seneler arasinda ESCS degerleri ayni ölçekte karsilastirilabilir sekilde sunuldu. Simdi asagidaki kodu kullanarak Türkiyenin seneler arasinda ESCS degiskenindeki degisimi inceleyelim.
# OECD nin yayinladigi gecmis senelere ait yeni ESCS degerleri ayri veri setlerinde 
# oldugundan, oncelikle yapmamiz gereken bunlari eski senelerin veri setleri ile entegre etmek.
# 2003, 2006, 2009, ve 2012 yillarina ait yeni hesaplanmis ESCS degerlerini bu senelere
# ait orjinal veri setleri ile birlestirelim.

 
    # Dikkat etmemiz gereken nokta yeni veri setinde ki ID lerinin
    # isimlerinde ufak bi degisiklik var. Bunu orjinal verideki hali ile ayni hale 
    # getirmemiz lazim.

         colnames(escs_2003)[1:3] <- c("CNT","SCHOOLID","STIDSTD") 

    # Simdi iki veri setini birlestirebiliriz. 
      
    pisa_2003_stu <- merge(pisa_2003_stu,escs_2003,by=c("CNT","SCHOOLID","STIDSTD") ,all=TRUE)

  # Simdi bunu ayni sekilde 2006, 2009, ve 2012 seneleri icin tekrar edelim.

     # Yalniz burda bir problemimiz var. 2003 senesinde CNT 3 karekterli bir kod iken,
     # 2006, 2009, 2012 senelerine ait CNT ulkenin tam isminden olusuyor. Bu da veri setlerini
     # birlestirirken problem olusturuyor. O yuzden once yeni escs veri setlerindeki 
     # uc karakterli ulke kodlarini ulkelerin isimleri ile degistirmemiz lazim.

       # 2006

          levels(escs_2006$cnt)
##  [1] "ARG" "AUS" "AUT" "BEL" "BGR" "BRA" "CAN" "CHE" "CHL" "COL" "CZE"
## [12] "DEU" "DNK" "ESP" "EST" "FIN" "FRA" "GBR" "GRC" "HKG" "HRV" "HUN"
## [23] "IDN" "IRL" "ISL" "ISR" "ITA" "JOR" "JPN" "KOR" "LTU" "LUX" "LVA"
## [34] "MAC" "MEX" "MNE" "NLD" "NOR" "NZL" "POL" "PRT" "QAT" "ROU" "RUS"
## [45] "SVK" "SVN" "SWE" "TAP" "THA" "TUN" "TUR" "URY" "USA"
          levels(escs_2006$cnt) <- c("Argentina","Australia","Austria","Belgium","Bulgaria"
                                     ,"Brazil","Canada","Switzerland","Chile","Colombia",
                                     "Czech Republic","Germany","Denmark","Spain","Estonia",
                                     "Finland","France","United Kingdom","Greece",
                                     "Hong Kong-China","Croatia","Hungary","Indonesia","Ireland",
                                     "Iceland","Israel", "Italy","Jordan","Japan","Korea",
                                     "Lithuania","Luxembourg","Latvia","Macao-China",
                                     "Mexico","Montenegro","Netherlands","Norway","New Zealand",
                                     "Poland","Portugal","Qatar","Romania","Russian Federation",
                                     "Slovak Republic","Slovenia ","Sweden",
                                     "Chinese Taipei","Thailand","Tunisia","Turkey","Uruguay",
                                     "United States")

          levels(escs_2006$cnt)
##  [1] "Argentina"          "Australia"          "Austria"           
##  [4] "Belgium"            "Bulgaria"           "Brazil"            
##  [7] "Canada"             "Switzerland"        "Chile"             
## [10] "Colombia"           "Czech Republic"     "Germany"           
## [13] "Denmark"            "Spain"              "Estonia"           
## [16] "Finland"            "France"             "United Kingdom"    
## [19] "Greece"             "Hong Kong-China"    "Croatia"           
## [22] "Hungary"            "Indonesia"          "Ireland"           
## [25] "Iceland"            "Israel"             "Italy"             
## [28] "Jordan"             "Japan"              "Korea"             
## [31] "Lithuania"          "Luxembourg"         "Latvia"            
## [34] "Macao-China"        "Mexico"             "Montenegro"        
## [37] "Netherlands"        "Norway"             "New Zealand"       
## [40] "Poland"             "Portugal"           "Qatar"             
## [43] "Romania"            "Russian Federation" "Slovak Republic"   
## [46] "Slovenia "          "Sweden"             "Chinese Taipei"    
## [49] "Thailand"           "Tunisia"            "Turkey"            
## [52] "Uruguay"            "United States"
          colnames(escs_2006)[1:3] <- c("CNT","SCHOOLID","STIDSTD")
        
      pisa_2006_stu <- merge(pisa_2006_stu,escs_2006,by=c("CNT","SCHOOLID","STIDSTD") ,all=TRUE)

      # 2009

          levels(escs_2009$cnt)
##  [1] "ALB" "ARE" "ARG" "AUS" "AUT" "BEL" "BGR" "BRA" "CAN" "CHE" "CHL"
## [12] "COL" "CRI" "CZE" "DEU" "DNK" "ESP" "EST" "FIN" "FRA" "GBR" "GEO"
## [23] "GRC" "HKG" "HRV" "HUN" "IDN" "IRL" "ISL" "ISR" "ITA" "JOR" "JPN"
## [34] "KAZ" "KOR" "LTU" "LUX" "LVA" "MAC" "MDA" "MEX" "MLT" "MNE" "MYS"
## [45] "NLD" "NOR" "NZL" "PER" "POL" "PRT" "QAT" "ROU" "RUS" "SGP" "SVK"
## [56] "SVN" "SWE" "TAP" "THA" "TTO" "TUN" "TUR" "URY" "USA"
          levels(escs_2009$cnt) <- c("Albania","United Arab Emirates","Argentina","Australia",
                                     "Austria","Belgium","Bulgaria","Brazil","Canada",
                                     "Switzerland","Chile","Colombia","Costa Rica",
                                     "Czech Republic","Germany","Denmark",
                                     "Spain","Estonia","Finland","France","United Kingdom",
                                     "Georgia","Greece","Hong Kong-China","Croatia","Hungary",
                                     "Indonesia","Ireland","Iceland","Israel", "Italy","Jordan",
                                     "Japan","Kazakhstan","Korea","Lithuania","Luxembourg",
                                     "Latvia","Macao-China","Republic of Moldova","Mexico",
                                     "Malta","Montenegro","Malaysia","Netherlands","Norway",
                                     "New Zealand","Peru","Poland","Portugal","Qatar","Romania",
                                     "Russian Federation","Singapore","Slovak Republic",
                                     "Slovenia","Sweden","Chinese Taipei","Thailand",
                                     "Trinidad and Tobago","Tunisia","Turkey","Uruguay",
                                     "United States")

          levels(escs_2009$cnt)
##  [1] "Albania"              "United Arab Emirates" "Argentina"           
##  [4] "Australia"            "Austria"              "Belgium"             
##  [7] "Bulgaria"             "Brazil"               "Canada"              
## [10] "Switzerland"          "Chile"                "Colombia"            
## [13] "Costa Rica"           "Czech Republic"       "Germany"             
## [16] "Denmark"              "Spain"                "Estonia"             
## [19] "Finland"              "France"               "United Kingdom"      
## [22] "Georgia"              "Greece"               "Hong Kong-China"     
## [25] "Croatia"              "Hungary"              "Indonesia"           
## [28] "Ireland"              "Iceland"              "Israel"              
## [31] "Italy"                "Jordan"               "Japan"               
## [34] "Kazakhstan"           "Korea"                "Lithuania"           
## [37] "Luxembourg"           "Latvia"               "Macao-China"         
## [40] "Republic of Moldova"  "Mexico"               "Malta"               
## [43] "Montenegro"           "Malaysia"             "Netherlands"         
## [46] "Norway"               "New Zealand"          "Peru"                
## [49] "Poland"               "Portugal"             "Qatar"               
## [52] "Romania"              "Russian Federation"   "Singapore"           
## [55] "Slovak Republic"      "Slovenia"             "Sweden"              
## [58] "Chinese Taipei"       "Thailand"             "Trinidad and Tobago" 
## [61] "Tunisia"              "Turkey"               "Uruguay"             
## [64] "United States"
          colnames(escs_2009)[1:3] <- c("CNT","SCHOOLID","StIDStd")
        
      pisa_2009_stu <- merge(pisa_2009_stu,escs_2009,by=c("CNT","SCHOOLID","StIDStd") ,all=TRUE)

      # 2012

          levels(escs_2012$cnt)
##  [1] "ALB" "ARE" "ARG" "AUS" "AUT" "BEL" "BGR" "BRA" "CAN" "CHE" "CHL"
## [12] "COL" "CRI" "CZE" "DEU" "DNK" "ESP" "EST" "FIN" "FRA" "GBR" "GRC"
## [23] "HKG" "HRV" "HUN" "IDN" "IRL" "ISL" "ISR" "ITA" "JOR" "JPN" "KAZ"
## [34] "KOR" "LTU" "LUX" "LVA" "MAC" "MEX" "MNE" "MYS" "NLD" "NOR" "NZL"
## [45] "PER" "POL" "PRT" "QAT" "QUC" "ROU" "RUS" "SGP" "SVK" "SVN" "SWE"
## [56] "TAP" "THA" "TUN" "TUR" "URY" "USA" "VNM"
          levels(escs_2012$cnt) <- c("Albania","United Arab Emirates","Argentina","Australia",
                                     "Austria","Belgium",
                                     "Bulgaria","Brazil","Canada",
                                     "Switzerland","Chile","Colombia","Costa Rica",
                                     "Czech Republic","Germany","Denmark",
                                     "Spain","Estonia","Finland","France","United Kingdom",
                                     "Greece","Hong Kong-China",
                                     "Croatia","Hungary","Indonesia","Ireland","Iceland",
                                     "Israel","Italy","Jordan","Japan","Kazakhstan","Korea",
                                     "Lithuania","Luxembourg","Latvia","Macao-China",
                                     "Mexico","Montenegro","Malaysia","Netherlands","Norway",
                                     "New Zealand","Peru","Poland","Portugal","Qatar",
                                     "Shanghai-China","Romania","Russian Federation","Singapore",
                                     "Slovak Republic","Slovenia","Sweden","Chinese Taipei",
                                     "Thailand","Tunisia","Turkey",
                                     "Uruguay","United States of America","Viet Nam")

          levels(escs_2012$cnt)
##  [1] "Albania"                  "United Arab Emirates"    
##  [3] "Argentina"                "Australia"               
##  [5] "Austria"                  "Belgium"                 
##  [7] "Bulgaria"                 "Brazil"                  
##  [9] "Canada"                   "Switzerland"             
## [11] "Chile"                    "Colombia"                
## [13] "Costa Rica"               "Czech Republic"          
## [15] "Germany"                  "Denmark"                 
## [17] "Spain"                    "Estonia"                 
## [19] "Finland"                  "France"                  
## [21] "United Kingdom"           "Greece"                  
## [23] "Hong Kong-China"          "Croatia"                 
## [25] "Hungary"                  "Indonesia"               
## [27] "Ireland"                  "Iceland"                 
## [29] "Israel"                   "Italy"                   
## [31] "Jordan"                   "Japan"                   
## [33] "Kazakhstan"               "Korea"                   
## [35] "Lithuania"                "Luxembourg"              
## [37] "Latvia"                   "Macao-China"             
## [39] "Mexico"                   "Montenegro"              
## [41] "Malaysia"                 "Netherlands"             
## [43] "Norway"                   "New Zealand"             
## [45] "Peru"                     "Poland"                  
## [47] "Portugal"                 "Qatar"                   
## [49] "Shanghai-China"           "Romania"                 
## [51] "Russian Federation"       "Singapore"               
## [53] "Slovak Republic"          "Slovenia"                
## [55] "Sweden"                   "Chinese Taipei"          
## [57] "Thailand"                 "Tunisia"                 
## [59] "Turkey"                   "Uruguay"                 
## [61] "United States of America" "Viet Nam"
        colnames(escs_2012)[1:3] <- c("CNT","SCHOOLID","StIDStd")
        pisa_2012_stu <- merge(pisa_2012_stu,escs_2012,by=c("CNT","SCHOOLID","StIDStd") ,all=TRUE)


 # Simdide 2003, 2006, 2009, 2012 yillarinda 2015 icin yaptigimiz gibi Turkiye verisini suzelim.

        pisa_2012_stu_TUR <- subset(pisa_2012_stu,CNT=="Turkey")
        pisa_2009_stu_TUR <- subset(pisa_2009_stu,CNT=='Turkey')
        pisa_2006_stu_TUR <- subset(pisa_2006_stu,CNT=='Turkey')
        pisa_2003_stu_TUR <- subset(pisa_2003_stu,CNT=='TUR')

  # Simdi 2003, 2006, 2009, 2012, 2015 yillarinda Turkiyenin ortalama ESCS degerini bulalim.
  
        escs.tur <- rbind(pisa.mean(variable="escs_trend",data=pisa_2003_stu_TUR),
                          pisa.mean(variable="escs_trend",data=pisa_2006_stu_TUR),
                          pisa.mean(variable="escs_trend",data=pisa_2009_stu_TUR),
                          pisa.mean(variable="escs_trend",data=pisa_2012_stu_TUR),
                          pisa2015.mean(variable="ESCS",data=pisa_2015_stu_TUR))

        rownames(escs.tur) <- c("2003","2006","2009","2012","2015")

        escs.tur
##      Freq  Mean s.e.   SD  s.e
## 2003 4845 -1.71 0.08 1.32 0.04
## 2006 4934 -1.67 0.05 1.16 0.03
## 2009 4965 -1.54 0.04 1.19 0.02
## 2012 4806 -1.62 0.04 1.19 0.02
## 2015 5859 -1.43 0.05 1.17 0.02

      Görüldügü gibi 2003 yilindan itibaren Türkiye’nin okullardaki 15 yas popUlasyonunun ESCS degeri ile ölçülen sosyoekonomik kültürel statüsünde artma egilimi olmakla birlikte belirgin bir degisme yok.

  1. Simdi biraz daha ilerleyip, ayni dönel=mlerde OECD ve Avrupa Birligi ülkelerinde bunun nasil degistigini inceleyelim.
# Bu veri setlerinde her ulke icin OECD uyesi olup olmadigini gosteren bir degisken var.
# Bunu kullanarak her bir sene icin OECD uilkelerine ait veriyi suzelim.

        pisa_2015_stu_OECD <- subset(pisa_2015_stu,OECD=="Yes")
        pisa_2012_stu_OECD <- subset(pisa_2012_stu,OECD=="OECD")
        pisa_2009_stu_OECD <- subset(pisa_2009_stu,OECD=="OECD")
        pisa_2006_stu_OECD <- subset(pisa_2006_stu,OECD=="OECD")
        pisa_2003_stu_OECD <- subset(pisa_2003_stu,OECD=="OECD country")

  # Simdi 2003, 2006, 2009, 2012, 2015 yillarinda her bir OECD ulkesinin ortalama ESCS 
  # degerini bulalim.

    # Once her ulkenin ortalama ESCS degerini hesaplayip, sonra bunlarin ortalamasini alacagiz
  
        escs.oecd03 <- pisa.mean(variable="escs_trend",data=pisa_2003_stu_OECD,by="CNT")
        escs.oecd06 <- pisa.mean(variable="escs_trend",data=pisa_2006_stu_OECD,by="CNT")
        escs.oecd09 <- pisa.mean(variable="escs_trend",data=pisa_2009_stu_OECD,by="CNT")
        escs.oecd12 <- pisa.mean(variable="escs_trend",data=pisa_2012_stu_OECD,by="CNT")
        escs.oecd15 <- pisa2015.mean(variable="ESCS",data=pisa_2015_stu_OECD,by="CNT")
  
        escs.oecd03
##    CNT  Freq  Mean s.e.   SD  s.e
## 1  AUS 12387 -0.02 0.02 0.98 0.01
## 2  AUT  4548 -0.29 0.03 0.97 0.01
## 3  BEL  8551 -0.12 0.03 1.14 0.01
## 4  CAN 26590  0.20 0.02 0.95 0.01
## 5  CHE  8342 -0.27 0.03 1.08 0.02
## 6  CZE  6155 -0.19 0.03 0.95 0.01
## 7  DEU  4399 -0.08 0.03 1.17 0.02
## 8  DNK  4178  0.07 0.03 1.02 0.02
## 9  ESP 10686 -0.42 0.06 1.51 0.02
## 10 FIN  5778 -0.03 0.02 1.01 0.01
## 11 FRA  4244 -0.54 0.03 1.07 0.02
## 12 GBR  9232 -0.25 0.03 1.02 0.02
## 13 GRC  4619 -0.65 0.05 1.17 0.02
## 14 HUN  4744 -0.58 0.03 1.04 0.02
## 15 IRL  3830 -0.47 0.04 1.07 0.02
## 16 ISL  3320  0.44 0.02 0.97 0.01
## 17 ITA 11607 -0.63 0.03 1.20 0.02
## 18 JPN  4671 -0.66 0.02 0.84 0.01
## 19 KOR  5420 -0.42 0.03 0.96 0.02
## 20 LUX  3864 -0.14 0.02 1.28 0.01
## 21 MEX 29798 -1.72 0.06 1.31 0.02
## 22 NLD  3868 -0.03 0.03 1.02 0.02
## 23 NOR  4012  0.33 0.02 0.98 0.02
## 24 NZL  4400 -0.14 0.02 1.08 0.01
## 25 POL  4383 -0.61 0.03 1.02 0.01
## 26 PRT  4578 -1.15 0.05 1.42 0.03
## 27 SVK  7335 -0.47 0.03 0.98 0.02
## 28 SWE  4586  0.07 0.03 1.03 0.01
## 29 TUR  4845 -1.71 0.08 1.32 0.04
## 30 USA  5392 -0.02 0.03 1.08 0.02
        escs.oecd06
##                CNT  Freq  Mean s.e.   SD  s.e
## 1        Australia 13988  0.06 0.02 0.82 0.01
## 2          Austria  4914 -0.11 0.02 0.85 0.02
## 3          Belgium  8776 -0.04 0.02 0.95 0.01
## 4           Canada 22136  0.20 0.02 0.82 0.01
## 5      Switzerland 12136 -0.09 0.02 0.93 0.01
## 6   Czech Republic  5903 -0.36 0.02 0.78 0.01
## 7          Germany  4686  0.04 0.03 0.94 0.01
## 8          Denmark  4495  0.30 0.03 0.85 0.01
## 9            Spain 19497 -0.33 0.04 1.34 0.02
## 10         Finland  4697  0.07 0.02 0.79 0.01
## 11          France  4600 -0.43 0.03 0.89 0.01
## 12  United Kingdom 12806 -0.06 0.02 0.84 0.01
## 13          Greece  4862 -0.39 0.04 0.99 0.01
## 14         Hungary  4474 -0.47 0.03 0.90 0.01
## 15         Ireland  4501 -0.05 0.03 0.93 0.01
## 16         Iceland  3745  0.50 0.01 0.86 0.01
## 17           Italy 21680 -0.46 0.02 0.99 0.01
## 18           Japan  5862 -0.29 0.02 0.72 0.01
## 19           Korea  5168 -0.38 0.02 0.76 0.01
## 20      Luxembourg  4486 -0.14 0.01 1.14 0.01
## 21          Mexico 30875 -1.38 0.04 1.33 0.02
## 22     Netherlands  4838  0.08 0.03 0.87 0.01
## 23          Norway  4602  0.30 0.02 0.75 0.01
## 24     New Zealand  4727 -0.06 0.02 0.85 0.01
## 25          Poland  5520 -0.75 0.02 0.85 0.01
## 26        Portugal  5091 -0.98 0.04 1.28 0.02
## 27 Slovak Republic  4723 -0.41 0.02 0.90 0.02
## 28          Sweden  4392  0.17 0.02 0.82 0.02
## 29          Turkey  4934 -1.67 0.05 1.16 0.03
## 30   United States  5568  0.04 0.04 0.96 0.02
        escs.oecd09
##                CNT  Freq  Mean s.e.   SD  s.e
## 1        Australia 13926  0.17 0.01 0.77 0.01
## 2          Austria  6420 -0.05 0.02 0.83 0.01
## 3          Belgium  8381  0.08 0.02 0.92 0.01
## 4           Canada 22616  0.34 0.02 0.84 0.01
## 5      Switzerland 11738  0.10 0.02 0.89 0.01
## 6            Chile  5580 -0.79 0.03 1.10 0.02
## 7   Czech Republic  6026 -0.21 0.01 0.71 0.01
## 8          Germany  4561  0.10 0.02 0.88 0.01
## 9          Denmark  5796  0.42 0.02 0.80 0.01
## 10           Spain 25631 -0.04 0.04 1.37 0.02
## 11         Estonia  4703 -0.12 0.02 0.77 0.01
## 12         Finland  5776  0.36 0.02 0.72 0.01
## 13          France  4227 -0.28 0.03 0.84 0.01
## 14  United Kingdom 11936  0.04 0.02 0.81 0.01
## 15          Greece  4948 -0.24 0.03 1.00 0.01
## 16         Hungary  4588 -0.40 0.03 0.94 0.02
## 17         Ireland  3841 -0.03 0.03 0.85 0.01
## 18         Iceland  3595  0.61 0.01 0.81 0.01
## 19          Israel  5596 -0.06 0.02 0.87 0.01
## 20           Italy 30810 -0.25 0.01 1.00 0.01
## 21           Japan  5984 -0.22 0.01 0.72 0.01
## 22           Korea  4982 -0.24 0.03 0.73 0.01
## 23      Luxembourg  4539  0.04 0.01 1.09 0.01
## 24          Mexico 38083 -1.32 0.03 1.29 0.01
## 25     Netherlands  4714  0.12 0.03 0.76 0.02
## 26          Norway  4620  0.48 0.02 0.69 0.01
## 27     New Zealand  4553  0.03 0.02 0.81 0.01
## 28          Poland  4867 -0.55 0.02 0.87 0.01
## 29        Portugal  6272 -0.59 0.04 1.17 0.02
## 30 Slovak Republic  4536 -0.31 0.02 0.79 0.01
## 31        Slovenia  6082 -0.09 0.01 0.85 0.01
## 32          Sweden  4512  0.28 0.02 0.81 0.01
## 33          Turkey  4965 -1.54 0.04 1.19 0.02
## 34   United States  5190  0.11 0.04 0.95 0.02
        escs.oecd12
##                         CNT  Freq  Mean s.e.   SD  s.e
## 1                 Australia 14110  0.23 0.01 0.78 0.01
## 2                   Austria     0   NaN  NaN 0.00 0.00
## 3                   Belgium  8414  0.13 0.02 0.89 0.01
## 4                    Canada 21087  0.40 0.02 0.86 0.01
## 5               Switzerland 11137  0.17 0.02 0.87 0.01
## 6                     Chile  6764 -0.68 0.04 1.12 0.02
## 7            Czech Republic  5295 -0.16 0.02 0.73 0.01
## 8                   Germany  4141  0.16 0.02 0.85 0.01
## 9                   Denmark  7298  0.46 0.02 0.81 0.01
## 10                    Spain 25121  0.13 0.03 1.32 0.01
## 11                  Estonia  4727 -0.05 0.01 0.79 0.01
## 12                  Finland  8685  0.37 0.02 0.73 0.01
## 13                   France  4489 -0.12 0.02 0.77 0.01
## 14           United Kingdom 12367  0.15 0.02 0.80 0.01
## 15                   Greece  5091 -0.15 0.03 1.00 0.01
## 16                  Hungary  4751 -0.33 0.03 0.96 0.01
## 17                  Ireland  4973  0.09 0.02 0.85 0.01
## 18                  Iceland  3400  0.68 0.01 0.77 0.01
## 19                   Israel  4866  0.09 0.03 0.84 0.02
## 20                    Italy 30873 -0.15 0.01 0.96 0.01
## 21                    Japan  6185 -0.19 0.02 0.71 0.01
## 22                    Korea  5022 -0.13 0.02 0.70 0.01
## 23               Luxembourg  5124  0.10 0.01 1.10 0.01
## 24                   Mexico 33598 -1.25 0.02 1.26 0.01
## 25              Netherlands  4376  0.24 0.02 0.75 0.01
## 26                   Norway  4574  0.41 0.02 0.71 0.01
## 27              New Zealand  4177  0.03 0.02 0.84 0.01
## 28                   Poland  4560 -0.38 0.03 0.88 0.01
## 29                 Portugal  5623 -0.58 0.05 1.17 0.02
## 30          Slovak Republic  4629 -0.32 0.03 0.89 0.01
## 31                 Slovenia  5833 -0.01 0.01 0.83 0.01
## 32                   Sweden  4616  0.30 0.01 0.79 0.01
## 33                   Turkey  4806 -1.62 0.04 1.19 0.02
## 34 United States of America  4915  0.12 0.04 0.97 0.02
        escs.oecd15
##                CNT  Freq  Mean s.e.   SD  s.e
## 1        Australia 13989  0.27 0.01 0.78 0.01
## 2          Austria  6939  0.09 0.02 0.85 0.01
## 3          Belgium  9452  0.16 0.02 0.90 0.01
## 4           Canada 19424  0.53 0.02 0.80 0.01
## 5      Switzerland  5794  0.14 0.02 0.91 0.01
## 6            Chile  6949 -0.49 0.03 1.08 0.01
## 7   Czech Republic  6788 -0.21 0.01 0.79 0.01
## 8          Germany  5630  0.12 0.02 0.88 0.01
## 9          Denmark  6985  0.59 0.02 0.86 0.01
## 10           Spain  6678 -0.51 0.04 1.19 0.01
## 11         Estonia  5499  0.05 0.01 0.76 0.01
## 12         Finland  5812  0.25 0.02 0.75 0.01
## 13          France  5941 -0.14 0.02 0.79 0.01
## 14  United Kingdom 13516  0.21 0.02 0.84 0.01
## 15          Greece  5492 -0.08 0.03 0.96 0.01
## 16         Hungary  5570 -0.23 0.02 0.95 0.01
## 17         Ireland  5667  0.16 0.02 0.84 0.01
## 18         Iceland  3283  0.73 0.01 0.72 0.01
## 19          Israel  6501  0.16 0.03 0.84 0.02
## 20           Italy 11330 -0.07 0.02 0.94 0.01
## 21           Japan  6557 -0.18 0.01 0.70 0.01
## 22           Korea  5548 -0.20 0.02 0.68 0.01
## 23      Luxembourg  5183  0.07 0.01 1.09 0.01
## 24          Latvia  4817 -0.44 0.02 0.91 0.01
## 25          Mexico  7507 -1.22 0.04 1.21 0.02
## 26     Netherlands  5324  0.16 0.02 0.76 0.01
## 27          Norway  5286  0.48 0.02 0.72 0.01
## 28     New Zealand  4334  0.17 0.02 0.77 0.01
## 29          Poland  4446 -0.39 0.02 0.82 0.01
## 30        Portugal  7225 -0.39 0.03 1.14 0.01
## 31 Slovak Republic  6257 -0.11 0.02 0.94 0.02
## 32        Slovenia  6343  0.03 0.01 0.81 0.01
## 33          Sweden  5313  0.33 0.02 0.81 0.01
## 34          Turkey  5859 -1.43 0.05 1.17 0.02
## 35   United States  5638  0.10 0.04 1.00 0.02
        escs.oecd <- rbind(mean(escs.oecd03[,3]),
                           mean(escs.oecd06[,3]),
                           mean(escs.oecd09[,3]),
                           mean(escs.oecd12[,3],na.rm=TRUE),
                           mean(escs.oecd15[,3]))

        rownames(escs.oecd) <- c("2003","2006","2009","2012","2015")

        escs.oecd <- round(escs.oecd,2)

        escs.oecd
##       [,1]
## 2003 -0.35
## 2006 -0.24
## 2009 -0.12
## 2012 -0.06
## 2015 -0.04
# Veri setlerinde AB uyesi olup olmadigini gosteren bir degisken olmadigindan 
# bunlari tek tek bizim yazip o sekilde suzmemiz lazim.

  # Bunu yapmak icin su linkteki AB uyesi ulkelerin listesini kullandik

    # https://europa.eu/european-union/about-eu/countries_en

        AB <- c("AUT","BEL","BGR","HRV","CYP","CZE","DNK","EST","FIN","FRA","DEU","GRC","HUN",
                "IRL","ITA","LVA","LTU","LUX","MLT","NLD","POL","PRT","ROU","SVK","SVN","ESP",
                "SWE")

        AB2 <- c("Austria","Belgium","Bulgaria","Croatia","Cyprus","Czech Republic","Denmark",
                 "Estonia","Finland","France","Germany","Greece","Hungary","Ireland","Italy",
                 "Latvia","Lithuania","Luxembourg","Malta","Netherlands","Poland","Portugal",
                 "Romania","Slovak Republic","Slovenia","Spain","Sweden")
        

            pisa_2003_stu_AB <- subset(pisa_2003_stu, CNT %in% AB)
            pisa_2006_stu_AB <- subset(pisa_2006_stu, CNT %in% AB2)
            pisa_2009_stu_AB <- subset(pisa_2009_stu, CNT %in% AB2)
            pisa_2012_stu_AB <- subset(pisa_2012_stu, CNT %in% AB2)
            pisa_2015_stu_AB <- subset(pisa_2015_stu, CNT %in% AB2)
    
            escs.AB03 <- pisa.mean(variable="escs_trend",data=pisa_2003_stu_AB,by="CNT")
            escs.AB06 <- pisa.mean(variable="escs_trend",data=pisa_2006_stu_AB,by="CNT")
            escs.AB09 <- pisa.mean(variable="escs_trend",data=pisa_2009_stu_AB,by="CNT")
            escs.AB12 <- pisa.mean(variable="escs_trend",data=pisa_2012_stu_AB,by="CNT")
            escs.AB15 <- pisa2015.mean(variable="ESCS",data=pisa_2015_stu_AB,by="CNT")
  
            escs.AB03
##    CNT  Freq  Mean s.e.   SD  s.e
## 1  AUT  4548 -0.29 0.03 0.97 0.01
## 2  BEL  8551 -0.12 0.03 1.14 0.01
## 3  CZE  6155 -0.19 0.03 0.95 0.01
## 4  DEU  4399 -0.08 0.03 1.17 0.02
## 5  DNK  4178  0.07 0.03 1.02 0.02
## 6  ESP 10686 -0.42 0.06 1.51 0.02
## 7  FIN  5778 -0.03 0.02 1.01 0.01
## 8  FRA  4244 -0.54 0.03 1.07 0.02
## 9  GRC  4619 -0.65 0.05 1.17 0.02
## 10 HUN  4744 -0.58 0.03 1.04 0.02
## 11 IRL  3830 -0.47 0.04 1.07 0.02
## 12 ITA 11607 -0.63 0.03 1.20 0.02
## 13 LUX  3864 -0.14 0.02 1.28 0.01
## 14 LVA  4595 -0.38 0.03 0.82 0.01
## 15 NLD  3868 -0.03 0.03 1.02 0.02
## 16 POL  4383 -0.61 0.03 1.02 0.01
## 17 PRT  4578 -1.15 0.05 1.42 0.03
## 18 SVK  7335 -0.47 0.03 0.98 0.02
## 19 SWE  4586  0.07 0.03 1.03 0.01
            escs.AB06
##                CNT  Freq  Mean s.e.   SD  s.e
## 1          Austria  4914 -0.11 0.02 0.85 0.02
## 2          Belgium  8776 -0.04 0.02 0.95 0.01
## 3         Bulgaria  4396 -0.62 0.05 1.03 0.02
## 4   Czech Republic  5903 -0.36 0.02 0.78 0.01
## 5          Germany  4686  0.04 0.03 0.94 0.01
## 6          Denmark  4495  0.30 0.03 0.85 0.01
## 7            Spain 19497 -0.33 0.04 1.34 0.02
## 8          Estonia  4853 -0.28 0.02 0.81 0.01
## 9          Finland  4697  0.07 0.02 0.79 0.01
## 10          France  4600 -0.43 0.03 0.89 0.01
## 11          Greece  4862 -0.39 0.04 0.99 0.01
## 12         Croatia  5205 -0.49 0.02 0.86 0.01
## 13         Hungary  4474 -0.47 0.03 0.90 0.01
## 14         Ireland  4501 -0.05 0.03 0.93 0.01
## 15           Italy 21680 -0.46 0.02 0.99 0.01
## 16       Lithuania  4719 -0.44 0.03 0.90 0.01
## 17      Luxembourg  4486 -0.14 0.01 1.14 0.01
## 18          Latvia  4691 -0.50 0.02 0.84 0.01
## 19     Netherlands  4838  0.08 0.03 0.87 0.01
## 20          Poland  5520 -0.75 0.02 0.85 0.01
## 21        Portugal  5091 -0.98 0.04 1.28 0.02
## 22         Romania  5110 -0.83 0.04 0.91 0.03
## 23 Slovak Republic  4723 -0.41 0.02 0.90 0.02
## 24          Sweden  4392  0.17 0.02 0.82 0.02
            escs.AB09
##                CNT  Freq  Mean s.e.   SD  s.e
## 1          Austria  6420 -0.05 0.02 0.83 0.01
## 2          Belgium  8381  0.08 0.02 0.92 0.01
## 3         Bulgaria  4406 -0.37 0.04 0.96 0.02
## 4   Czech Republic  6026 -0.21 0.01 0.71 0.01
## 5          Germany  4561  0.10 0.02 0.88 0.01
## 6          Denmark  5796  0.42 0.02 0.80 0.01
## 7            Spain 25631 -0.04 0.04 1.37 0.02
## 8          Estonia  4703 -0.12 0.02 0.77 0.01
## 9          Finland  5776  0.36 0.02 0.72 0.01
## 10          France  4227 -0.28 0.03 0.84 0.01
## 11          Greece  4948 -0.24 0.03 1.00 0.01
## 12         Croatia  4987 -0.33 0.02 0.87 0.01
## 13         Hungary  4588 -0.40 0.03 0.94 0.02
## 14         Ireland  3841 -0.03 0.03 0.85 0.01
## 15           Italy 30810 -0.25 0.01 1.00 0.01
## 16       Lithuania  4481 -0.32 0.02 0.90 0.01
## 17      Luxembourg  4539  0.04 0.01 1.09 0.01
## 18          Latvia  4481 -0.46 0.02 0.80 0.01
## 19           Malta  3356 -0.27 0.02 0.96 0.01
## 20     Netherlands  4714  0.12 0.03 0.76 0.02
## 21          Poland  4867 -0.55 0.02 0.87 0.01
## 22        Portugal  6272 -0.59 0.04 1.17 0.02
## 23         Romania  4766 -0.65 0.03 0.86 0.02
## 24 Slovak Republic  4536 -0.31 0.02 0.79 0.01
## 25        Slovenia  6082 -0.09 0.01 0.85 0.01
## 26          Sweden  4512  0.28 0.02 0.81 0.01
            escs.AB12
##                CNT  Freq  Mean s.e.   SD  s.e
## 1          Austria     0   NaN  NaN 0.00 0.00
## 2          Belgium  8414  0.13 0.02 0.89 0.01
## 3         Bulgaria  5183 -0.31 0.03 1.01 0.02
## 4   Czech Republic  5295 -0.16 0.02 0.73 0.01
## 5          Germany  4141  0.16 0.02 0.85 0.01
## 6          Denmark  7298  0.46 0.02 0.81 0.01
## 7            Spain 25121  0.13 0.03 1.32 0.01
## 8          Estonia  4727 -0.05 0.01 0.79 0.01
## 9          Finland  8685  0.37 0.02 0.73 0.01
## 10          France  4489 -0.12 0.02 0.77 0.01
## 11          Greece  5091 -0.15 0.03 1.00 0.01
## 12         Croatia  4991 -0.30 0.02 0.84 0.01
## 13         Hungary  4751 -0.33 0.03 0.96 0.01
## 14         Ireland  4973  0.09 0.02 0.85 0.01
## 15           Italy 30873 -0.15 0.01 0.96 0.01
## 16       Lithuania  4581 -0.18 0.02 0.90 0.01
## 17      Luxembourg  5124  0.10 0.01 1.10 0.01
## 18          Latvia  4268 -0.39 0.02 0.83 0.01
## 19     Netherlands  4376  0.24 0.02 0.75 0.01
## 20          Poland  4560 -0.38 0.03 0.88 0.01
## 21        Portugal  5623 -0.58 0.05 1.17 0.02
## 22         Romania  5055 -0.55 0.04 0.91 0.02
## 23 Slovak Republic  4629 -0.32 0.03 0.89 0.01
## 24        Slovenia  5833 -0.01 0.01 0.83 0.01
## 25          Sweden  4616  0.30 0.01 0.79 0.01
            escs.AB15
##                CNT  Freq  Mean s.e.   SD  s.e
## 1          Austria  6939  0.09 0.02 0.85 0.01
## 2          Belgium  9452  0.16 0.02 0.90 0.01
## 3         Bulgaria  5793 -0.08 0.03 0.98 0.02
## 4   Czech Republic  6788 -0.21 0.01 0.79 0.01
## 5          Germany  5630  0.12 0.02 0.88 0.01
## 6          Denmark  6985  0.59 0.02 0.86 0.01
## 7            Spain  6678 -0.51 0.04 1.19 0.01
## 8          Estonia  5499  0.05 0.01 0.76 0.01
## 9          Finland  5812  0.25 0.02 0.75 0.01
## 10          France  5941 -0.14 0.02 0.79 0.01
## 11          Greece  5492 -0.08 0.03 0.96 0.01
## 12         Croatia  5728 -0.24 0.02 0.82 0.01
## 13         Hungary  5570 -0.23 0.02 0.95 0.01
## 14         Ireland  5667  0.16 0.02 0.84 0.01
## 15           Italy 11330 -0.07 0.02 0.94 0.01
## 16       Lithuania  6334 -0.06 0.02 0.86 0.01
## 17      Luxembourg  5183  0.07 0.01 1.09 0.01
## 18          Latvia  4817 -0.44 0.02 0.91 0.01
## 19           Malta  3602 -0.05 0.01 0.95 0.01
## 20     Netherlands  5324  0.16 0.02 0.76 0.01
## 21          Poland  4446 -0.39 0.02 0.82 0.01
## 22        Portugal  7225 -0.39 0.03 1.14 0.01
## 23         Romania  4873 -0.58 0.04 0.87 0.02
## 24 Slovak Republic  6257 -0.11 0.02 0.94 0.02
## 25        Slovenia  6343  0.03 0.01 0.81 0.01
## 26          Sweden  5313  0.33 0.02 0.81 0.01
        escs.AB <- rbind(mean(escs.AB03[,3]),
                           mean(escs.AB06[,3]),
                           mean(escs.AB09[,3]),
                           mean(escs.AB12[,3],na.rm=TRUE),
                           mean(escs.AB15[,3]))

        rownames(escs.AB) <- c("2003","2006","2009","2012","2015")

        escs.AB <- round(escs.AB,2)

        escs.AB
##       [,1]
## 2003 -0.35
## 2006 -0.31
## 2009 -0.16
## 2012 -0.08
## 2015 -0.06

Istersek bunlari bir tabloya koyabiliriz

      Sosyo-ekonomik Kulturel Duzey

Yil Turkiye OECD AB
2003 -1.71(0.08) -0.35 -0.35
2006 -1.67(0.05) -0.24 -0.31
2009 -1.54(0.04) -0.12 -0.16
2012 -1.62(0.04) -0.06 -0.08
2015 -1.43(0.05) -0.04 -0.06

Bu rakamlari bir grafikte gostermek istersek asagidaki kodu kullanabiliriz. Bunun icin oncelikle “ggplot2” paketi yuklememiz gerekmekter.

install.packages("ggplot2",dependencies=TREUE)
install.packages("gridExtra",dependencies=TREUE)
install.packages("grid",dependencies=TREUE)
require(ggplot2)
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 3.2.5
library(gridExtra)
## Warning: package 'gridExtra' was built under R version 3.2.5
library(grid)

   escs <- rbind(escs.tur,escs.tur,escs.tur)
   escs$tip <- c(rep("TUR",5),rep("OECD",5),rep("AB",5))
   escs[6:10,2]=escs.oecd[,1]
   escs[6:10,3]=0
   escs[11:15,2]=escs.AB[,1]
   escs[11:15,3]=0
   escs$year = 1:5

  ggplot(escs, aes(x=year, y=Mean,shape=tip)) +
    theme_bw() +
    geom_errorbar(aes(ymin=Mean-1.96*s.e., ymax=Mean+1.96*s.e.), width=.05,lty=2) +
    geom_point(size=4, fill="black") +
    geom_line()+
    scale_x_discrete(limit = 1:5,labels=c("2003","2006","2009","2012","2015"))+ 
    scale_y_continuous(limit = c(-2,.5))  +
    labs(title = "                                       PISA ESCS Indeksinin Yillara Gore Degisimi", 
          x = "YIL", y = "PISA Sosyoekonomik Kulturel Indeks",
          shape=" ")+
    theme(axis.title= element_text(size = 15),      
          axis.text= element_text(size = 12),
          title = element_text(size = 12),
          legend.justification=c(-0.5,-0.2),
          legend.position=c(0,0),
          legend.text=element_text(size = 12)   
          ) +
     annotation_custom(grob = textGrob("@pisa_turkiye"),  
        xmin = 1, xmax = 1, ymin = .3, ymax = .3)

ESCS acisindan 5% ve 95% lik dilimler arasindaki fark

# 2015

  quantile(pisa_2015_stu_TUR$ESCS,probs=c(0.05,.95),na.rm=TRUE)
##       5%      95% 
## -3.21623  0.60585
  quantile(pisa_2012_stu_TUR$escs_trend,probs=c(0.05,.95),na.rm=TRUE)
##         5%        95% 
## -3.2935630  0.5938632
  quantile(pisa_2009_stu_TUR$escs_trend,probs=c(0.05,.95),na.rm=TRUE)
##         5%        95% 
## -3.1814873  0.6501741
  quantile(pisa_2006_stu_TUR$escs_trend,probs=c(0.05,.95),na.rm=TRUE)
##         5%        95% 
## -3.2325891  0.5644762
  quantile(pisa_2003_stu_TUR$escs_trend,probs=c(0.05,.95),na.rm=TRUE)
##         5%        95% 
## -3.4901217  0.6972358
Yil 5% 95% Fark
2003 -3.49 0.70 4.20
2006 -3.23 0.56 3.79
2009 -3.18 0.65 3.83
2012 -3.29 0.59 3.88
2015 -3.22 0.61 3.83
# Bireysel Baglamda Diger Demografik Degiskenlerin Incelenmesi
    
## Sinif Seviyesi
  sinif.2003 <- pisa.table(variable="ST01Q01",data=pisa_2003_stu_TUR)
  sinif.2006 <- pisa.table(variable="ST01Q01",data=pisa_2006_stu_TUR)
  sinif.2009 <- pisa.table(variable="ST01Q01",data=pisa_2009_stu_TUR)
  sinif.2012 <- pisa.table(variable="ST01Q01",data=pisa_2012_stu_TUR)
  sinif.2015 <- pisa2015.table(variable="ST001D01T",data=pisa_2015_stu_TUR)
     colnames(sinif.2015)[1] <- "ST01Q01"
     levels(sinif.2015$ST01Q01) <- 7:12

  sinif <- rbind(sinif.2003,sinif.2006,sinif.2009,sinif.2012,sinif.2015)
  sinif$year <- factor(c(rep(2003,6),rep(2006,5),rep(2009,6),rep(2012,6),rep(2015,6)))
  sinif
##     ST01Q01 Freq Percentage Std.err. year
## 7         7   27       0.84     0.33 2003
## 8         8   92       4.39     1.60 2003
## 9         9  191       3.20     0.67 2003
## 10       10 2863      52.12     2.18 2003
## 11       11 1670      39.19     2.37 2003
## 12       12   12       0.25     0.09 2003
## 71        7   23       0.82     0.32 2006
## 81        8   93       4.51     0.90 2006
## 91        9 2007      38.38     1.73 2006
## 101      10 2671      53.66     1.88 2006
## 111      11  148       2.63     0.27 2006
## 72        7   24       0.70     0.14 2009
## 82        8  113       3.50     0.76 2009
## 92        9 1258      25.17     1.29 2009
## 102      10 3393      66.62     1.52 2009
## 112      11  196       3.79     0.26 2009
## 121      12   12       0.22     0.07 2009
## 73        7   21       0.50     0.19 2012
## 83        8   99       2.16     0.31 2012
## 93        9 1317      27.60     1.20 2012
## 103      10 3202      65.47     1.23 2012
## 113      11  194       3.97     0.28 2012
## 122      12   15       0.29     0.07 2012
## 1         7   16       0.60     0.14 2015
## 2         8  105       2.62     0.36 2015
## 3         9 1273      20.73     0.99 2015
## 4        10 4308      72.93     1.19 2015
## 5        11  186       3.00     0.32 2015
## 6        12    7       0.12     0.04 2015
  ggplot(sinif, aes(x=year, y=Percentage,fill=ST01Q01)) +
    geom_bar(stat='identity',position=position_dodge()) + 
    geom_errorbar(aes(ymin=Percentage-1.96*Std.err., ymax=Percentage+1.96*Std.err.), 
                  width=.2,position=position_dodge(.9)) +
    scale_y_continuous(limit = c(0,100))+
    theme_bw()+
    geom_text(aes(y=Percentage,label=scales::percent(sinif$Percentage/100)), 
              stat= "identity", position=position_dodge(1),vjust = -3)+
    labs(title ="                                               Ogrencilerin Sinif Duzeyi Dagilimi", 
          x = "YIL", y = "Yuzde",
          fill=" ")+
    theme(axis.title= element_text(size = 15),      
          axis.text= element_text(size = 12),
          title = element_text(size = 18),
          legend.text=element_text(size = 12)) +
     annotation_custom(grob = textGrob("@pisa_turkiye"),  
        xmin = 1, xmax = 1, ymin = 90, ymax = 90)

      Sinif Duzeyinde katilim orani

Yil 7.Sinif 8.Sinif 9.Sinif 10.Sinif 11.Sinif 12.Sinif
2003 %0.84 %4.39 %3.20 %52.12 %39.19 %0.25
2006 %0.82 %4.51 %38.38 %53.66 %2.63 %0
2009 %0.70 %3.50 %25.17 %66.62 %3.79 %0.22
2012 %0.50 %2.16 %27.60 %65.47 %3.97 %0.29
2015 %0.60 %2.62 %20.73 %72.93 %3.00 %0.12

Cinsiyet

  cins.2003 <- pisa.table(variable="ST03Q01",data=pisa_2003_stu_TUR)
  cins.2006 <- pisa.table(variable="ST04Q01",data=pisa_2006_stu_TUR)
  cins.2009 <- pisa.table(variable="ST04Q01",data=pisa_2009_stu_TUR)
  cins.2012 <- pisa.table(variable="ST04Q01",data=pisa_2012_stu_TUR)
  cins.2015 <- pisa2015.table(variable="ST004D01T",data=pisa_2015_stu_TUR)
     colnames(cins.2015)[1] <- "ST04Q01"
     colnames(cins.2003)[1] <- "ST04Q01"

  cins <- rbind(cins.2003,cins.2006,cins.2009,cins.2012,cins.2015)
  cins$year <- factor(c(rep(2003,2),rep(2006,2),rep(2009,2),rep(2012,2),rep(2015,2)))
  cins
##    ST04Q01 Freq Percentage Std.err. year
## 1   Female 2090      44.99     1.95 2003
## 2     Male 2765      55.01     1.95 2003
## 11  Female 2290      45.30     1.92 2006
## 21    Male 2652      54.70     1.92 2006
## 12  Female 2445      48.40     1.71 2009
## 22    Male 2551      51.60     1.71 2009
## 13  Female 2370      49.45     1.98 2012
## 23    Male 2478      50.55     1.98 2012
## 14  Female 2938      49.97     1.55 2015
## 24    Male 2957      50.03     1.55 2015
  ggplot(cins, aes(x=year, y=Percentage,fill=ST04Q01)) +
    geom_bar(stat='identity',position=position_dodge()) + 
    geom_errorbar(aes(ymin=Percentage-1.96*Std.err., ymax=Percentage+1.96*Std.err.), 
                  width=.2,position=position_dodge(.9)) +
    scale_y_continuous(limit = c(0,100))+
    theme_bw()+
    geom_text(aes(y=Percentage,label=scales::percent(cins$Percentage/100)), 
              stat= "identity", position=position_dodge(1),vjust = -3)+
    labs(title ="                                               Ogrencilerin Cinsiyet Dagilimi", 
          x = "YIL", y = "Yuzde",
          fill=" ")+
    theme(axis.title= element_text(size = 15),      
          axis.text= element_text(size = 12),
          title = element_text(size = 18),
          legend.text=element_text(size = 12)) +
     annotation_custom(grob = textGrob("@pisa_turkiye"),  
        xmin = 1, xmax = 1, ymin = 90, ymax = 90)

Gocmenlik (Dogum yeriniz baska bir ulke mi?)

  goc.2003 <- pisa.table(variable="ST15Q01",data=pisa_2003_stu_TUR)
  goc.2006 <- pisa.table(variable="ST11Q01",data=pisa_2006_stu_TUR)
  goc.2009 <- pisa.table(variable="ST17Q01",data=pisa_2009_stu_TUR)
  goc.2012 <- pisa.table(variable="ST20Q01",data=pisa_2012_stu_TUR)
  goc.2015 <- pisa2015.table(variable="ST019AQ01T",data=pisa_2015_stu_TUR)

     colnames(goc.2015)[1] <- "goc"
     colnames(goc.2003)[1] <- "goc"
     colnames(goc.2006)[1] <- "goc"
     colnames(goc.2009)[1] <- "goc"
     colnames(goc.2012)[1] <- "goc"
     levels(goc.2003$goc) <- levels(goc.2015$goc)
     levels(goc.2006$goc) <- levels(goc.2015$goc)

  goc <- rbind(goc.2003,goc.2006,goc.2009,goc.2012,goc.2015)
  goc$year <- factor(c(rep(2003,2),rep(2006,2),rep(2009,2),rep(2012,2),rep(2015,2)))
  goc
##                goc Freq Percentage Std.err. year
## 1  Country of test 4771      98.99     0.18 2003
## 2    Other country   62       1.01     0.18 2003
## 11 Country of test 4834      98.62     0.26 2006
## 21   Other country   64       1.38     0.26 2006
## 12 Country of test 4922      99.26     0.13 2009
## 22   Other country   35       0.74     0.13 2009
## 13 Country of test 4763      99.20     0.14 2012
## 23   Other country   38       0.80     0.14 2012
## 14 Country of test 5765      99.27     0.13 2015
## 24   Other country   46       0.73     0.13 2015

      Gocmenlik Durumu (Turkiye’de mi dogdunuz?)

Yil Evet Hayir
2003 %98.99 %1.01
2006 %98.62 %1.38
2009 %99.26 %0.74
2012 %99.20 %0.80
2015 %99.27 %0.73

Haftalik Ders Saati

# Language

  pisa_2009_stu_TUR$lang.min <- (pisa_2009_stu_TUR$ST29Q01*pisa_2009_stu_TUR$ST28Q01)
  pisa_2012_stu_TUR$lang.min <- (pisa_2012_stu_TUR$ST70Q01*pisa_2012_stu_TUR$ST69Q01)
  pisa_2015_stu_TUR$lang.min <- (pisa_2015_stu_TUR$ST059Q01TA*pisa_2015_stu_TUR$ST061Q01NA)

  tur.2009 <- pisa.mean(variable="lang.min",data=pisa_2009_stu_TUR)
  tur.2012 <- pisa.mean(variable="lang.min",data=pisa_2012_stu_TUR)
  tur.2015 <- pisa2015.mean(variable="lang.min",data=pisa_2015_stu_TUR)
  tur <- rbind(tur.2009,tur.2012,tur.2015)
  

  # OECD

    pisa_2009_stu_OECD$lang.min <- (pisa_2009_stu_OECD$ST29Q01*pisa_2009_stu_OECD$ST28Q01)
    pisa_2012_stu_OECD$lang.min <- (pisa_2012_stu_OECD$ST70Q01*pisa_2012_stu_OECD$ST69Q01)
    pisa_2015_stu_OECD$lang.min <- (pisa_2015_stu_OECD$ST059Q01TA*pisa_2015_stu_OECD$ST061Q01NA)

    tur.2009_oecd <- pisa.mean(variable="lang.min",data=pisa_2009_stu_OECD,by="CNT")
    tur.2012_oecd <- pisa.mean(variable="lang.min",data=pisa_2012_stu_OECD,by="CNT")
    tur.2015_oecd <- pisa2015.mean(variable="lang.min",data=pisa_2015_stu_OECD,by="CNT")

  # AB

    pisa_2009_stu_AB$lang.min <- (pisa_2009_stu_AB$ST29Q01*pisa_2009_stu_AB$ST28Q01)
    pisa_2012_stu_AB$lang.min <- (pisa_2012_stu_AB$ST70Q01*pisa_2012_stu_AB$ST69Q01)
    pisa_2015_stu_AB$lang.min <- (pisa_2015_stu_AB$ST059Q01TA*pisa_2015_stu_AB$ST061Q01NA)
   
    tur.2009_AB <- pisa.mean(variable="lang.min",data=pisa_2009_stu_AB,by="CNT")
    tur.2012_AB <- pisa.mean(variable="lang.min",data=pisa_2012_stu_AB,by="CNT")
    tur.2015_AB <- pisa2015.mean(variable="lang.min",data=pisa_2015_stu_AB,by="CNT")


  tur <- rbind(tur,tur,tur)
   tur$tip <- c(rep("TUR",3),rep("OECD",3),rep("AB",3))
   tur$year <- 1:3
 
   tur[4:6,2]=c(mean(tur.2009_oecd[,3]),mean(tur.2012_oecd[,3]),mean(tur.2015_oecd[,3]))
   tur[4:6,3]=0
   tur[7:9,2]=c(mean(tur.2009_AB[,3]),mean(tur.2012_AB[,3]),mean(tur.2015_AB[,3],na.rm=TRUE))
   tur[7:9,3]=0
  

  ggplot(tur, aes(x=year, y=Mean,shape=tip)) +
    theme_bw() +
    geom_errorbar(aes(ymin=Mean-1.96*s.e., ymax=Mean+1.96*s.e.), width=.05,lty=2) +
    geom_point(size=4, fill="black") +
    geom_line()+
    scale_x_discrete(limit = 1:3,labels=c("2009","2012","2015"))+ 
    scale_y_continuous(limit = c(150,250))  +
    labs(title = "                                      Haftalik Ortalama Toplam Turkce Ders Saati", 
          x = "YIL", y = "Dakika",
          shape=" ")+
    theme(axis.title= element_text(size = 18),      
          axis.text= element_text(size = 15),
          title = element_text(size = 20),
          legend.justification=c(-0.5,-0.2),
          legend.position=c(0,0),
          legend.text=element_text(size = 18)   
          ) +
    geom_text(aes(y=Mean,label=round(tur$Mean,2)), position=position_dodge(0.2),vjust = -2)+
     annotation_custom(grob = textGrob("@pisa_turkiye"),  
        xmin = 3.5, xmax = 3.5, ymin = 240, ymax = 240)

# Matematik

  pisa_2009_stu_TUR$lang.min_mat <- (pisa_2009_stu_TUR$ST29Q02*pisa_2009_stu_TUR$ST28Q02)
  pisa_2012_stu_TUR$lang.min_mat <- (pisa_2012_stu_TUR$ST70Q02*pisa_2012_stu_TUR$ST69Q02)
  pisa_2015_stu_TUR$lang.min_mat <- (pisa_2015_stu_TUR$ST059Q02TA*pisa_2015_stu_TUR$ST061Q01NA)

  tur.2009 <- pisa.mean(variable="lang.min_mat",data=pisa_2009_stu_TUR)
  tur.2012 <- pisa.mean(variable="lang.min_mat",data=pisa_2012_stu_TUR)
  tur.2015 <- pisa2015.mean(variable="lang.min_mat",data=pisa_2015_stu_TUR)
  tur <- rbind(tur.2009,tur.2012,tur.2015)
  

  # OECD

    pisa_2009_stu_OECD$lang.min_mat <- (pisa_2009_stu_OECD$ST29Q02*pisa_2009_stu_OECD$ST28Q02)
    pisa_2012_stu_OECD$lang.min_mat <- (pisa_2012_stu_OECD$ST70Q02*pisa_2012_stu_OECD$ST69Q02)
    pisa_2015_stu_OECD$lang.min_mat <- (pisa_2015_stu_OECD$ST059Q02TA*pisa_2015_stu_OECD$ST061Q01NA)

    tur.2009_oecd <- pisa.mean(variable="lang.min_mat",data=pisa_2009_stu_OECD,by="CNT")
    tur.2012_oecd <- pisa.mean(variable="lang.min_mat",data=pisa_2012_stu_OECD,by="CNT")
    tur.2015_oecd <- pisa2015.mean(variable="lang.min_mat",data=pisa_2015_stu_OECD,by="CNT")

  # AB

    pisa_2009_stu_AB$lang.min_mat <- (pisa_2009_stu_AB$ST29Q02*pisa_2009_stu_AB$ST28Q02)
    pisa_2012_stu_AB$lang.min_mat <- (pisa_2012_stu_AB$ST70Q02*pisa_2012_stu_AB$ST69Q02)
    pisa_2015_stu_AB$lang.min_mat <- (pisa_2015_stu_AB$ST059Q02TA*pisa_2015_stu_AB$ST061Q01NA)
   
    tur.2009_AB <- pisa.mean(variable="lang.min_mat",data=pisa_2009_stu_AB,by="CNT")
    tur.2012_AB <- pisa.mean(variable="lang.min_mat",data=pisa_2012_stu_AB,by="CNT")
    tur.2015_AB <- pisa2015.mean(variable="lang.min_mat",data=pisa_2015_stu_AB,by="CNT")


  tur <- rbind(tur,tur,tur)
   tur$tip <- c(rep("TUR",3),rep("OECD",3),rep("AB",3))
   tur$year <- 1:3
 
   tur[4:6,2]=c(mean(tur.2009_oecd[,3]),mean(tur.2012_oecd[,3]),mean(tur.2015_oecd[,3]))
   tur[4:6,3]=0
   tur[7:9,2]=c(mean(tur.2009_AB[,3]),mean(tur.2012_AB[,3]),mean(tur.2015_AB[,3],na.rm=TRUE))
   tur[7:9,3]=0
  

  ggplot(tur, aes(x=year, y=Mean,shape=tip)) +
    theme_bw() +
    geom_errorbar(aes(ymin=Mean-1.96*s.e., ymax=Mean+1.96*s.e.), width=.05,lty=2) +
    geom_point(size=4, fill="black") +
    geom_line()+
    scale_x_discrete(limit = 1:3,labels=c("2009","2012","2015"))+ 
    scale_y_continuous(limit = c(150,250))  +
    labs(title = "                                      Haftalik Ortalama Toplam Matematik Ders Saati", 
          x = "YIL", y = "Dakika",
          shape=" ")+
    theme(axis.title= element_text(size = 18),      
          axis.text= element_text(size = 15),
          title = element_text(size = 20),
          legend.justification=c(-0.5,-0.2),
          legend.position=c(0,0),
          legend.text=element_text(size = 18)   
          ) +
    geom_text(aes(y=Mean,label=round(tur$Mean,2)), position=position_dodge(0),vjust =1,hjust=-0.25)+
     annotation_custom(grob = textGrob("@pisa_turkiye"),  
        xmin = 3.5, xmax = 3.5, ymin = 240, ymax = 240)

# Fen ve Bilim

  pisa_2009_stu_TUR$lang.min_sci <- (pisa_2009_stu_TUR$ST29Q03*pisa_2009_stu_TUR$ST28Q03)
  pisa_2012_stu_TUR$lang.min_sci <- (pisa_2012_stu_TUR$ST70Q03*pisa_2012_stu_TUR$ST69Q03)
  pisa_2015_stu_TUR$lang.min_sci <- (pisa_2015_stu_TUR$ST059Q03TA*pisa_2015_stu_TUR$ST061Q01NA)

  tur.2009 <- pisa.mean(variable="lang.min_sci",data=pisa_2009_stu_TUR)
  tur.2012 <- pisa.mean(variable="lang.min_sci",data=pisa_2012_stu_TUR)
  tur.2015 <- pisa2015.mean(variable="lang.min_sci",data=pisa_2015_stu_TUR)
  tur <- rbind(tur.2009,tur.2012,tur.2015)
  

  # OECD

    pisa_2009_stu_OECD$lang.min_sci <- (pisa_2009_stu_OECD$ST29Q03*pisa_2009_stu_OECD$ST28Q03)
    pisa_2012_stu_OECD$lang.min_sci <- (pisa_2012_stu_OECD$ST70Q03*pisa_2012_stu_OECD$ST69Q03)
    pisa_2015_stu_OECD$lang.min_sci <- (pisa_2015_stu_OECD$ST059Q03TA*pisa_2015_stu_OECD$ST061Q01NA)

    tur.2009_oecd <- pisa.mean(variable="lang.min_sci",data=pisa_2009_stu_OECD,by="CNT")
    tur.2012_oecd <- pisa.mean(variable="lang.min_sci",data=pisa_2012_stu_OECD,by="CNT")
    tur.2015_oecd <- pisa2015.mean(variable="lang.min_sci",data=pisa_2015_stu_OECD,by="CNT")

  # AB

    pisa_2009_stu_AB$lang.min_sci <- (pisa_2009_stu_AB$ST29Q03*pisa_2009_stu_AB$ST28Q03)
    pisa_2012_stu_AB$lang.min_sci <- (pisa_2012_stu_AB$ST70Q03*pisa_2012_stu_AB$ST69Q03)
    pisa_2015_stu_AB$lang.min_sci <- (pisa_2015_stu_AB$ST059Q03TA*pisa_2015_stu_AB$ST061Q01NA)
   
    tur.2009_AB <- pisa.mean(variable="lang.min_sci",data=pisa_2009_stu_AB,by="CNT")
    tur.2012_AB <- pisa.mean(variable="lang.min_sci",data=pisa_2012_stu_AB,by="CNT")
    tur.2015_AB <- pisa2015.mean(variable="lang.min_sci",data=pisa_2015_stu_AB,by="CNT")


  tur <- rbind(tur,tur,tur)
   tur$tip <- c(rep("TUR",3),rep("OECD",3),rep("AB",3))
   tur$year <- 1:3
 
   tur[4:6,2]=c(mean(tur.2009_oecd[,3]),mean(tur.2012_oecd[,3]),mean(tur.2015_oecd[,3]))
   tur[4:6,3]=0
   tur[7:9,2]=c(mean(tur.2009_AB[,3]),mean(tur.2012_AB[,3]),mean(tur.2015_AB[,3],na.rm=TRUE))
   tur[7:9,3]=0
  

  ggplot(tur, aes(x=year, y=Mean,shape=tip)) +
    theme_bw() +
    geom_errorbar(aes(ymin=Mean-1.96*s.e., ymax=Mean+1.96*s.e.), width=.05,lty=2) +
    geom_point(size=4, fill="black") +
    geom_line()+
    scale_x_discrete(limit = 1:3,labels=c("2009","2012","2015"))+ 
    scale_y_continuous(limit = c(115,215))  +
    labs(title = "                                      Haftalik Ortalama Toplam Fen ve Bilim Ders Saati", 
          x = "YIL", y = "Dakika",
          shape=" ")+
    theme(axis.title= element_text(size = 18),      
          axis.text= element_text(size = 15),
          title = element_text(size = 20),
          legend.justification=c(-0.5,-0.2),
          legend.position=c(0,0),
          legend.text=element_text(size = 18)   
          ) +
    geom_text(aes(y=Mean,label=round(tur$Mean,2)), position=position_dodge(0),vjust=1,hjust=1.1)+
     annotation_custom(grob = textGrob("@pisa_turkiye"),  
        xmin = 3.2, xmax = 3.2, ymin = 140, ymax = 140)

YAS

# TURKIYE

  tur.2003 <- pisa.mean(variable="AGE",data=pisa_2003_stu_TUR)
  tur.2006 <- pisa.mean(variable="AGE",data=pisa_2006_stu_TUR)
  tur.2009 <- pisa.mean(variable="AGE",data=pisa_2009_stu_TUR)
  tur.2012 <- pisa.mean(variable="AGE",data=pisa_2012_stu_TUR)
  tur.2015 <- pisa2015.mean(variable="AGE",data=pisa_2015_stu_TUR)
  tur <- rbind(tur.2003,tur.2006,tur.2009,tur.2012,tur.2015)
  

  # OECD

  oecd.2003 <- pisa.mean(variable="AGE",data=pisa_2003_stu_OECD)
  oecd.2006 <- pisa.mean(variable="AGE",data=pisa_2006_stu_OECD)
  oecd.2009 <- pisa.mean(variable="AGE",data=pisa_2009_stu_OECD)
  oecd.2012 <- pisa.mean(variable="AGE",data=pisa_2012_stu_OECD)
  oecd.2015 <- pisa2015.mean(variable="AGE",data=pisa_2015_stu_OECD)
  oecd <- rbind(oecd.2003,oecd.2006,oecd.2009,oecd.2012,oecd.2015)
  

  # AB
   
  AB.2003 <- pisa.mean(variable="AGE",data=pisa_2003_stu_AB)
  AB.2006 <- pisa.mean(variable="AGE",data=pisa_2006_stu_AB)
  AB.2009 <- pisa.mean(variable="AGE",data=pisa_2009_stu_AB)
  AB.2012 <- pisa.mean(variable="AGE",data=pisa_2012_stu_AB)
  AB.2015 <- pisa2015.mean(variable="AGE",data=pisa_2015_stu_AB)
  AB <- rbind(AB.2003,AB.2006,AB.2009,AB.2012,AB.2015)


  cbind(tur,oecd,AB)
##   Freq  Mean s.e.   SD s.e   Freq  Mean s.e.   SD s.e   Freq  Mean s.e.
## 1 4855 15.91 0.00 0.29   0 223330 15.80    0 0.29   0 107861 15.78    0
## 2 4942 15.90 0.01 0.29   0 251262 15.78    0 0.30   0 152305 15.77    0
## 3 4996 15.82 0.00 0.28   0 298454 15.77    0 0.29   0 179830 15.79    0
## 4 4848 15.81 0.00 0.28   0 295330 15.78    0 0.29   0 180379 15.79    0
## 5 5895 15.82 0.00 0.28   0 248620 15.80    0 0.29   0 162386 15.81    0
##     SD s.e
## 1 0.29   0
## 2 0.29   0
## 3 0.29   0
## 4 0.29   0
## 5 0.29   0

Okul disinda Diger Ogrenim Aktiviteleri icin harcanan haftalik toplam sure

# TURKIYE

  tur.2012 <- pisa.mean(variable="OUTHOURS",data=pisa_2012_stu_TUR)
  tur.2015 <- pisa2015.mean(variable="OUTHOURS",data=pisa_2015_stu_TUR)
  tur <- rbind(tur.2012,tur.2015)
  

  # OECD

  oecd.2012 <- pisa.mean(variable="OUTHOURS",data=pisa_2012_stu_OECD,by="CNT")
  oecd.2015 <- pisa2015.mean(variable="OUTHOURS",data=pisa_2015_stu_OECD,by="CNT")

  # AB
   
  AB.2012 <- pisa.mean(variable="OUTHOURS",data=pisa_2012_stu_AB,,by="CNT")
  AB.2015 <- pisa2015.mean(variable="OUTHOURS",data=pisa_2015_stu_AB,,by="CNT")

  tur <- rbind(tur,tur,tur)
   tur$tip <- c(rep("TUR",2),rep("OECD",2),rep("AB",2))
   tur$year <- 1:2
 
   tur[3:4,2]=c(mean(oecd.2012[,3]),mean(oecd.2015[,3]))
   tur[3:4,3]=0
   tur[5:6,2]=c(mean(AB.2012[,3]),mean(AB.2015[,3],na.rm=TRUE))
   tur[5:6,3]=0

 ggplot(tur, aes(x=year, y=Mean,shape=tip)) +
    theme_bw() +
    geom_point(size=2, fill="black") +
    geom_line()+
    scale_x_discrete(limit = 1:2,labels=c("2012","2015")) + 
    scale_y_continuous(limit = c(5,30))  +
    labs(title = "Okul Disinda Diger Tur Ogrenim Aktiviteleri Icin Harcanan Haftalik Toplam Sure", 
          x = "YIL", y = "Saat",
          shape=" ")+
    theme(axis.title= element_text(size = 18),      
          axis.text= element_text(size = 15),
          title = element_text(size = 20),
          legend.justification=c(-0.5,-0.2),
          legend.position=c(0,0),
          legend.text=element_text(size = 18)   
          ) +
     annotation_custom(grob = textGrob("@pisa_turkiye"),  
        xmin = 2.5, xmax = 2.5, ymin = 25, ymax = 25)

Okul Turleri

  okul.2003 <- pisa.table(variable="PROGN",data=pisa_2003_stu_TUR)
## Warning in `levels<-`(`*tmp*`, value = if (nl == nL) as.character(labels)
## else paste0(labels, : duplicated levels in factors are deprecated
  okul.2006 <- pisa.table(variable="PROGN",data=pisa_2006_stu_TUR)
## Warning in `levels<-`(`*tmp*`, value = if (nl == nL) as.character(labels)
## else paste0(labels, : duplicated levels in factors are deprecated
  okul.2009 <- pisa.table(variable="PROGN",data=pisa_2009_stu_TUR)
## Warning in `levels<-`(`*tmp*`, value = if (nl == nL) as.character(labels)
## else paste0(labels, : duplicated levels in factors are deprecated
  okul.2012 <- pisa.table(variable="progn",data=pisa_2012_stu_TUR)
  okul.2015 <- pisa2015.table(variable="PROGN",data=pisa_2015_stu_TUR)

     colnames(okul.2012)[1] <- "PROGN"

  okul.2003
##                                                   PROGN Freq Percentage
## 201                 TUR: Primary education (lower sec.)  119       5.23
## 202               TUR: General high school (upper sec.) 2414      51.21
## 203             TUR: Anatolian high school (upper sec.)  200       5.63
## 204 TUR: High school with foreign language (upper sec.)  624      10.76
## 205              TUR: Science high schools (upper sec.)   63       1.75
## 206                        TUR: Vocational high schools  619      15.65
## 207              TUR: Anatolian vocational high schools  435       7.09
## 208                         TUR: Technical high schools  123       1.39
## 209               TUR: Anatolian technical high schools  258       1.28
##     Std.err.
## 201     1.84
## 202     3.98
## 203     2.36
## 204     1.69
## 205     1.13
## 206     2.65
## 207     1.86
## 208     0.88
## 209     0.40
  okul.2006
##                                                         PROGN Freq
## 312                                    TUR: PRIMARY EDUCATION  116
## 313                                  TUR: GENERAL HIGH SCHOOL 2266
## 314                                TUR: ANATOLIAN HIGH SCHOOL  549
## 315 TUR: HIGH SCHOOL WITH INTENSIVE FOREIGN LANGUAGE TEACHING    9
## 316                                 TUR: SCIENCE HIGH SCHOOLS   35
## 317                              TUR: VOCATIONAL HIGH SCHOOLS 1510
## 318                    TUR: ANATOLIAN VOCATIONAL HIGH SCHOOLS  179
## 319                 TUR: SECONDARY AND VOCATIONAL HIGH SCHOOL  278
##     Percentage Std.err.
## 312       5.33     1.16
## 313      40.24     2.82
## 314      12.81     2.59
## 315       0.21     0.21
## 316       0.77     0.77
## 317      29.45     2.24
## 318       4.05     1.61
## 319       7.14     1.79
  okul.2009
##                                            PROGN Freq Percentage Std.err.
## 379                         TUR: Primary school   137       4.20     0.85
## 380                   TUR: General high school   1877      36.37     2.02
## 381                  TUR: Anatolian high school   715      13.76     1.77
## 382                   TUR: Science high school    100       2.37     1.19
## 384 TUR: Anatolian Teacher Training High School    67       1.35     0.96
## 385        TUR: Anatolian Fine Arts High School    32       0.67     0.67
## 387                 TUR: Vocational High School  1254      25.14     1.61
## 388      TUR: Anatolian Vocational High School    356       7.26     1.47
## 389                  TUR: Technical High School    53       1.08     0.19
## 390         TUR: Anatolian Technical High Schoo   137       2.79     0.51
## 391           TUR: Multi Programme High School    268       5.02     1.73
  okul.2012
##                                              PROGN Freq Percentage
## 316                         Turkey: Primary school  120       2.66
## 317                    Turkey: General high school 1462      30.74
## 318                  Turkey: Anatolian high school 1050      22.47
## 319                    Turkey: Science high school   35       0.73
## 320            Turkey: Social Sciences High School   35       0.76
## 321 Turkey: Anatolian Teacher Training High School  207       4.47
## 323                 Turkey: Vocational High School 1216      24.67
## 324       Turkey: Anatolian Vocational High School  279       5.73
## 325                  Turkey: Technical High School   75       1.53
## 326        Turkey: Anatolian Technical High School  123       2.47
## 327            Turkey: Multi Programme High School  178       3.73
## 328                     Turkey: Police High School   68       0.04
##     Std.err.
## 316     0.40
## 317     2.68
## 318     2.25
## 319     0.73
## 320     0.54
## 321     1.55
## 323     1.79
## 324     1.23
## 325     0.33
## 326     0.58
## 327     1.56
## 328     0.00
  okul.2015
##                                                    PROGN Freq Percentage
## 417                              Turkey: Basic Education  121       3.22
## 418                  Turkey: General Secondary Education 3241      55.75
## 419 Turkey: Vocational and Technical Secondary Education 2533      41.03
##     Std.err.
## 417     0.48
## 418     1.92
## 419     1.94