SSB 201 – Sosyal Bilimler İçin İstatistik I

Final Sınavı

library(gapminder)
## Warning: package 'gapminder' was built under R version 4.5.2
library (dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library (ggplot2)

Soru 1 – Veri Setini İnceleme ve Düzenleme

1.a) gapminder veri setindeki değişken isimlerini ve veri türlerini inceleyiniz.

data(gapminder)
names(gapminder)
## [1] "country"   "continent" "year"      "lifeExp"   "pop"       "gdpPercap"
glimpse(gapminder)
## Rows: 1,704
## Columns: 6
## $ country   <fct> "Afghanistan", "Afghanistan", "Afghanistan", "Afghanistan", …
## $ continent <fct> Asia, Asia, Asia, Asia, Asia, Asia, Asia, Asia, Asia, Asia, …
## $ year      <int> 1952, 1957, 1962, 1967, 1972, 1977, 1982, 1987, 1992, 1997, …
## $ lifeExp   <dbl> 28.801, 30.332, 31.997, 34.020, 36.088, 38.438, 39.854, 40.8…
## $ pop       <int> 8425333, 9240934, 10267083, 11537966, 13079460, 14880372, 12…
## $ gdpPercap <dbl> 779.4453, 820.8530, 853.1007, 836.1971, 739.9811, 786.1134, …

1.b) Aşağıdaki değişkenleri seçerek gapminder_tr isimli yeni bir veri seti oluşturunuz:

  • ulke (country)

  • yil (year)

  • yasam_beklentisi (lifeExp)

  • kisi_basi_gelir (gdpPercap)

  • kita (continent)

gapminder_tr <- gapminder %>% 
  rename(
    ulke = country ,
    yil = year ,
    yasam_beklentisi = lifeExp ,
    kisi_basi_gelir = gdpPercap ,
    kita = continent
  )
names(gapminder_tr)
## [1] "ulke"             "kita"             "yil"              "yasam_beklentisi"
## [5] "pop"              "kisi_basi_gelir"

1.c) Bu yeni veri setindeki değişken adlarını Türkçeleştiriniz ve gapminder_tr üzerine kaydediniz.

gapminder_tr <- gapminder %>% 
  rename(
    ulke = country ,
    yil = year ,
    yasam_beklentisi = lifeExp ,
    kisi_basi_gelir = gdpPercap ,
    kita = continent
  )

Soru 2 – Betimsel İstatistikler

2.a) gapminder_tr veri seti için summary() fonksiyonunu kullanarak genel özeti elde ediniz.

summary(gapminder_tr)
##           ulke            kita          yil       yasam_beklentisi
##  Afghanistan:  12   Africa  :624   Min.   :1952   Min.   :23.60   
##  Albania    :  12   Americas:300   1st Qu.:1966   1st Qu.:48.20   
##  Algeria    :  12   Asia    :396   Median :1980   Median :60.71   
##  Angola     :  12   Europe  :360   Mean   :1980   Mean   :59.47   
##  Argentina  :  12   Oceania : 24   3rd Qu.:1993   3rd Qu.:70.85   
##  Australia  :  12                  Max.   :2007   Max.   :82.60   
##  (Other)    :1632                                                 
##       pop            kisi_basi_gelir   
##  Min.   :6.001e+04   Min.   :   241.2  
##  1st Qu.:2.794e+06   1st Qu.:  1202.1  
##  Median :7.024e+06   Median :  3531.8  
##  Mean   :2.960e+07   Mean   :  7215.3  
##  3rd Qu.:1.959e+07   3rd Qu.:  9325.5  
##  Max.   :1.319e+09   Max.   :113523.1  
## 

2.b) Yaşam beklentisi değişkeninin ortalama, medyan ve ranj değerlerini açıklayınız.

Yaşam Beklentisi değişkeninin ortalama değeri 59.47 gelmiştir. Veri setinin ortanca değeri(medyan) 60.71 olarak gelmiştir. Minimum değer 23.60’tır ortalamanın oldukça altında olduğunu görüyoruz ve maksimum değer ise 82.62’ dir bu sonucun ise ortalamanın çok üzerinde olduğunu görüyoruz. 59.02 değerini de maksimum değerden minimum değeri çıkararak buluyoruz ve ranj değerini görmüş oluyoruz.

Soru 3 – Frekans ve Yüzde Tablosu

Not: Aşağıdaki soruları gapminder_tr veri setini kullanarak yanıtlayın.

3.a) Kıta (continent) değişkenine ait frekans tablosunu oluşturunuz.

table(gapminder_tr$kita)
## 
##   Africa Americas     Asia   Europe  Oceania 
##      624      300      396      360       24

3.b) Aynı değişken için yüzde (%) dağılımını hesaplayınız.

prop.table(table(gapminder_tr$kita)) * 100
## 
##    Africa  Americas      Asia    Europe   Oceania 
## 36.619718 17.605634 23.239437 21.126761  1.408451

Soru 4 – Saçılım Diyagramı ve Korelasyon

4.a) Yaşam beklentisi (lifeExp) ile kişi başına düşen gelir (gdpPercap) arasındaki ilişkiyi gösteren bir saçılım diyagramı oluşturunuz. Eksen adlarını ve grafiğin başlığını ekleyiniz.

ggplot(gapminder_tr, aes(x = yasam_beklentisi , y = kisi_basi_gelir)) +
  geom_point() +
  labs(x = "Yasam Beklentisi" ,
       y = "Kisi Basi Gelir" ,
       title = "Yasam Beklentisi İle Kisi Basi Gelir Arasindaki İliski")

4.b) Bu iki değişken arasındaki korelasyon katsayısını hesaplayınız ve korelasyon katsayısını yorumlayınız.

cor(
  gapminder_tr$yasam_beklentisi,
  gapminder_tr$kisi_basi_gelir,
  use = "pairwise.complete.obs"
)
## [1] 0.5837062

korelasyon katsayısı 0.58 gelmiştir, pozitif olması sebebiyle anlamlı bir ilişki olduğunu söyleyebiliriz.

Soru 5 – Basit Doğrusal Regresyon

5.a) Kişi başına düşen gelirin (gdpPercap), yaşam beklentisini (lifeExp) yordayıp yordamadığını test eden bir basit doğrusal regresyon modeli kurunuz.

ggplot(gapminder_tr, aes(x = yasam_beklentisi, y = kisi_basi_gelir)) +
  geom_point() +
  geom_smooth(method = "lm", se = FALSE, color="pink") +
  labs(x = "Yasam Beklentisi" ,
       y = "Kisi Basi Gelir" ,
       title = "Basit Doğrusal Regresyon Çizgisi")
## `geom_smooth()` using formula = 'y ~ x'

5.b) Regresyon çıktısından aşağıdaki bilgileri bulunuz ve yorumlayınız:

  • eğim (β₁)

  • kesişim (β₀)

  • R-kare (R²)

gapminder_mod <- lm(yasam_beklentisi ~ kisi_basi_gelir , data = gapminder_tr )
summary(gapminder_mod)
## 
## Call:
## lm(formula = yasam_beklentisi ~ kisi_basi_gelir, data = gapminder_tr)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -82.754  -7.758   2.176   8.225  18.426 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)     5.396e+01  3.150e-01  171.29   <2e-16 ***
## kisi_basi_gelir 7.649e-04  2.579e-05   29.66   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 10.49 on 1702 degrees of freedom
## Multiple R-squared:  0.3407, Adjusted R-squared:  0.3403 
## F-statistic: 879.6 on 1 and 1702 DF,  p-value: < 2.2e-16

EĞİM (7.649) Yasam beklentisi 1 arttığında kişi başı gelir 0.64 artar, istatistiksel olarak anlamlı ve pozitif bir ilişki vardır.

KESİŞİM (5.396) Yaşam Beklentisi 0 seviyesinde olsaydı, kişi başı gelir 5.39 seviyesinde olacaktı. Modelin koordinat sistemindeki başlangıç noktasıdır.

R-SQUARED (0.3407) Multiple R-Squared 0.34, modelin anlamlı bir açıklayıcılık gücüne sahip olduğunu gösteriyor. değişimin %34’ü kişi başı gelir ile açıklanabiliyor.

5.c) Yaşam beklentisi (yasam_beklentisi) ile kişi başına düşen gelir (kisi_basi_gelir) arasındaki ilişkiyi gösteren bir saçılım diyagramı oluşturunuz. Grafiğe uygun eksen adlarını ve bir başlık ekleyiniz. Bu grafiğin üzerine basit doğrusal regresyon çizgisini ekleyiniz.

ggplot(gapminder_tr, aes(x = yasam_beklentisi, y = kisi_basi_gelir)) +
  geom_jitter(widht = 0.3, heigh = 0.3, alpha = 0.5, color = "steelblue") +
  geom_point(alpha = 0.5, size = 3, color = "darkmagenta") +
  geom_smooth(method = "lm" , se = FALSE, color= "pink") +
  labs(
    x= "Yasam Beklentisi",
    y= "Kisi Bası Gelir",
    title = "Yasam Beklentis ile Kisi Bası Gelir İlişkisi"
  )+
  theme_minimal() 
## Warning in geom_jitter(widht = 0.3, heigh = 0.3, alpha = 0.5, color =
## "steelblue"): Ignoring unknown parameters: `widht` and `heigh`
## `geom_smooth()` using formula = 'y ~ x'

Soru 6 - geom_jitter fonksiyonunun kullanım amacı nedir?

geom_jitter fonksiyonu üst üste binmiş değerleri görebilmek için kullanılır. Regresyon grafiklerinde saçılımı doğru görebilmeyi sağlar.