Bölüm 5 Betimleyici İstatistikler
Bu bölümde veri setine ait en sık kullanılan betimleyici istatistikler hesaplanmıştır.
5.1 Minimum ve maksimum değerler
min() ve max() fonksiyonları sayesinde veri setinin minimum ve maksimum değerleri bulunabilir:
## [1] 175.608
midiPISA verisinin minimum değeri 175.61 olarak bulunmuştur.
## [1] 771.508
midiPISA verisinin maksimum değeri 771.51 olarak bulunmuştur.
Alternatif olarak range() fonksiyonu: size doğrudan minimum ve maksimum değerleri verir. range() fonksiyonunun çıktısının aslında minimum ve maksimum değerleri (bu sırayla) içeren bir nesne olduğuna dikkat edin. Bu, aslında minimuma şu şekilde erişebileceğiniz anlamına gelir:
## [1] 175.608
## [1] 771.508
Elde edilen çıktıda, sırasıyla midiPISA verisindeki okuma olası değeri1’ e ait minimum ve maksimum değerleri sırasıyla görüntülenmiştir.
5.2 Ortalama
Ortalama, mean() fonksiyonu ile hesaplanabilir:
## [1] 464.2299
midiPISA verisinin ortalama değeri 464.23 olarak bulunmuştur.
Veri setinde en az bir eksik(kayıp) değer varsa, ortalama NA hariç tutularak hesaplanabilir. Bunun için na.rm_TRUE argümanı kullanılabilir. Bu argüman sadece ortalama için değil, R’da sunulan çoğu fonksiyon için kullanılabilir.
## [1] 464.2299
midiPISA verisine ait okuma olası değeri1 de kayıp değer olmadığı için ortalama değer yine 464.23 olarak bulunmuştur. Ayrıca kırpılmış bir ortalama için mean(midiPISA$O_OD1, trim = 0.10) kullanılabilir ve trim argümanını ihtiyaçlarınıza göre değiştirebilirsiniz.
5.3 Medyan
Medyan(ortanca değer), median() fonksiyonu sayesinde hesaplanabilir:
## [1] 463.403
midiPISA verisinin medyanı 463.405 olarak bulunmuştur. Aynı zamandabu değer -quantile() fonksiyonu ile de hesaplanabilir.
## 50%
## 463.403
5.4 I. ve III. Çeyrekler
Medyan gibi, birinci ve üçüncü çeyrekler de quantile() işlevi sayesinde ve ikinci bağımsız değişkenin 0.25 veya 0.75 olarak ayarlanmasıyla hesaplanabilir:
## 25%
## 402.5635
midiPISA verisinin I.çeyrekler 402.5625 olarak bulunmuştur.
## 75%
## 525.7188
midiPISA verisinin III.çeyrekler 525.72 olarak bulunmuştur.
5.5 Standart sapma ve varyans
Standart sapma ve varyans, sd() ve var() fonksiyonları ile hesaplanır:
## [1] 87.78006
midiPISA verisinin standart sapması 87.78 olarak bulunmuştur.
## [1] 7705.339
midiPISA verisinin varyansı 7705.345 olarak bulunmuştur.
Standart sapma ve varyansın bir örneklem veya popülasyon için hesaplanmasının farklı olduğu hatırlanmalıdır (örneklem ve popülasyon arasındaki fark ilgili kaynaklardan incelenmelidir). R’de standart sapma ve varyans, veriler bir örneklem temsil ediyormuş gibi hesaplanır. Birden fazla değişkenin standart sapmasını veya varyansını aynı anda hesaplamak için, ikinci bağımsız değişken olarak uygun istatistiklerle birlikte lapply() fonksiyonu ile kullanılmalıdır.
midiPISA %>%
# "O_" başlayan ve "OD" içeren değişkenlerin seçimi
select(starts_with("OD") & contains("MA")) %>%
lapply(.,sd) # her bir değişkenin standart sapmasının hesaplanması## $ODOKUMA1
## [1] 87.78006
##
## $ODOKUMA2
## [1] 87.696
##
## $ODOKUMA3
## [1] 87.07692
##
## $ODOKUMA4
## [1] 87.40305
##
## $ODOKUMA5
## [1] 87.21323
Çıktıda da görüldüğü üzere, veri setinde “O” ile başlayan ve “OD” içeren beş değişkene ait standart sapma değerleri hesaplanır.
Aynı işlemi veri seti olarak elde etmek istiyorsanız summarise() fonksiyonunu kullabailirsiniz.
midiPISA %>%
# "O_" başlayan ve "OD" içeren değişkenlerin seçimi
select(starts_with("OD") & contains("MA")) %>%
summarise(across(everything(), list(sd = sd),na.rm=TRUE)) # her bir değişkenin standart sapmasının hesaplanması## # A tibble: 1 × 5
## ODOKUMA1_sd ODOKUMA2_sd ODOKUMA3_sd ODOKUMA4_sd ODOKUMA5_sd
## <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 87.8 87.7 87.1 87.4 87.2
5.6 Tüm özet istatistikler
summary() fonksiyonu ise betimleyici istatistikleri özet olarak verir.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 175.6 402.6 463.4 464.2 525.7 771.5
Bu tanımlayıcı istatistikleri gruba göre hesaplamak istenirse by() fonksiyonu kullanıılır.
## midiPISA$CINSIYET: 1
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 236.4 418.2 477.6 478.1 536.9 771.5
## ------------------------------------------------------------
## midiPISA$CINSIYET: 2
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 175.6 387.5 448.0 450.7 512.2 747.5
lapply() kullanımında bağımsız değişkenler veri setinin adı, gruplama değişkeni ve özet fonksiyonudur. Bu sıra takip edilmeli veya bu sıra takip edilemiyorsa argümanların adı belirtilmelidir.
Daha açıklayıcı istatistiklere ihtiyaç varsa, psych paketindeki describe() fonksiyonu kullanılmalıdır.
library(psych)
describe(midiPISA %>% select(CINSIYET,ODOKUMA1)) # özetleyici istatistiklerinin hesaplanması## vars n mean sd median trimmed mad min max range skew
## CINSIYET 1 6890 1.51 0.50 2.0 1.51 0.00 1.00 2.00 1.0 -0.03
## ODOKUMA1 2 6890 464.23 87.78 463.4 463.90 91.11 175.61 771.51 595.9 0.04
## kurtosis se
## CINSIYET -2.0 0.01
## ODOKUMA1 -0.3 1.06
5.7 Değişkenlik katsayısı
Değişkenlik katsayısı stat.desc() ile veya manuel olarak hesaplanarak bulunabilir (Değişkenlik katsayısının standart sapmanın ortalamaya bölümü olduğu hatırlanmalıdır):
library(pastecs) # paketin aktifleştirilmesi
round(stat.desc(midiPISA %>% select(CINSIYET,OKUMA_ZEVK)),2) # değişkenlik katsayısının hesaplanması## CINSIYET OKUMA_ZEVK
## nbr.val 6890.00 6821.00
## nbr.null 0.00 0.00
## nbr.na 0.00 69.00
## min 1.00 -2.73
## max 2.00 2.66
## range 1.00 5.39
## sum 10384.00 4659.70
## median 2.00 0.64
## mean 1.51 0.68
## SE.mean 0.01 0.01
## CI.mean.0.95 0.01 0.02
## var 0.25 0.95
## std.dev 0.50 0.98
## coef.var 0.33 1.43
Seçilen CINSIYET ve OKUMA_ZEVK değişkenlerinin değişkenlik katsayıları hesaplanmış ve sonuçlar round ile virgülden sonra iki basamak olacak şekilde yuvarlanmıştır.
5.8 Mod
Bir değişkenin modunu bulmak için table() ve sort() fonksiyonları kullanarak hesaplanmalıdır.
##
## 0 1 2 3 4 5 6
## 695 1882 1362 575 675 759 887
##
## 1 2 6 5 0 4 3
## 1882 1362 887 759 695 675 575
table() fonksiyonu, her bir benzersiz değer için oluşum sayısını verir, ardından sort() decreasing = TRUE argümanı ile oluşum sayısını en yüksekten en düşüğe doğru görüntüler.
5.9 Frekans tablosu oluşturma
Herhangi bir ek işlem (yani veri işleme) yapmadan içe aktarılan veri setini kullanarak örneklemin demografik özellikleri hakkında bazı temel tanımlayıcı bilgiler hesaplanabilir.
Veri kümesi midiPISA kullanılarak Anne_Egitim (anne eğitim düzeyi) değişkenine göre gruplama yapılır. Ardından her gruptaki gözlemlerin sayısı bulunur ve gruplandırma kaldırılır.
midiPISA %>%
group_by(Anne_Egitim) %>% # Anne_Egitim e göre gruplandırma
count() %>% # frekans tablosu oluşturma
ungroup() # gruplandırmanın kaldırılması## # A tibble: 8 × 2
## Anne_Egitim n
## <dbl> <int>
## 1 0 695
## 2 1 1882
## 3 2 1362
## 4 3 575
## 5 4 675
## 6 5 759
## 7 6 887
## 8 NA 55
group_by() fonkisyonu veri setinin yüzey düzeyinde değişikliklere neden olmaz, bunun yerine temel yapıyı değiştirir, böylece gruplar belirtilirse, daha sonra çağrılan fonksiyonlar gruplama değişkeninin her düzeyinde ayrı ayrı gerçekleştirilir. Bu gruplama oluşturulan nesnede kalır, bu nedenle nesne üzerinde gelecekte yapılacak işlemlerin gruplar tarafından bilinmeden gerçekleştirilmesini önlemek için ungroup() ile kaldırılması önemlidir.
Bu nedenle yukarıdaki kod, Anne_Egitim değişkeninin yani anne eğitim düzeyinin her bir grubundaki gözlem sayısını sayar. Eğer sadece toplam gözlem sayısına ihtiyacınız varsa, group_by() ve ungroup() satırlarını kaldırabilirsiniz, böylece işlemi gruplar yerine tüm veri seti üzerinde gerçekleştirebilirsiniz:
Benzer şekilde, örneklemin ortalama başarısı (ve SD’sini) hesaplanmak istendiğinde dplyr/tidyverse paketindeki summarise() fonkisyonu kullanılabilir.
midiPISA %>%
summarise(ort = mean(ODOKUMA1), # ortalama
sd = sd(ODOKUMA1), # standart sapma
n = n()) # frekans hesaplama## # A tibble: 1 × 3
## ort sd n
## <dbl> <dbl> <int>
## 1 464. 87.8 6890
Bu kod, başarı ortalamasının hesaplanmasının sonucunu içeren ort adlı bir sütun biçiminde özet veriler üretir. Daha sonra aynı işlemi standart sapma için yapan sd sütununu oluşturur. Son olarak, istatistiği hesaplamak için kullanılan değerlerin sayısını n adlı bir sütuna eklemek için n() fonksiyonu kullanır.
Yukarıdaki kodun bu işlemin sonucunu kaydetmeyeceğini, sadece konsolda çıktısını vereceğini unutmayın. İleride kullanmak üzere kaydetmek isterseniz, “<-” notasyonunu kullanarak bir nesnede saklanabilir ve daha sonra nesne adını yazarak yazdırılabilir. Son olarak, group_by() fonksiyonu özet istatistikleri hesaplarken aynı şekilde çalışacaktır. group_by() fonksiyonundan sonra çağrılan işlevin çıktısı gruplama değişkeninin her düzeyi için üretilecektir.