Bu ödevde, günlük hayatta sıkça karşılaşılan bir durumu veriler yardımıyla inceledim. Kentleşme arttıkça ülkelerin ekonomik durumu nasıl değişmektedir? Bu soruya cevap bulabilmek için Dünya Bankası’nın (WDI) veri tabanından 2000–2022 yılları arasındaki kentleşme oranları ve kişi başına düşen gelir verilerini aldım. Amacım, bu iki değişken arasındaki ilişkiyi grafikler ve bir regresyon modeli kullanarak analiz etmekti.
Analize başlarken önce WDI ve tidyverse paketlerini yükledim. WDI paketi sayesinde ihtiyacım olan verileri hızlı bir şekilde R ortamına aldım. Kodlarda özellikle filter ve drop_na fonksiyonlarını kullandım. Bu fonksiyonlar veriyi temizlemek için gerekliydi. Çünkü eksik veriler ya da ülke dışındaki veriler (örneğin Dünya Ortalaması) sonuçları yanlış gösterebilirdi. Son olarak lm() fonksiyonunu kullanarak, kentleşmenin gelir üzerindeki etkisini inceleyen bir doğrusal regresyon modeli kurdum.
Tüm yıllara ait verileri tek bir tabloda topladım ve bir saçılım grafiği oluşturdum. Üzerine regresyon çizgisini eklediğimde, kentleşme ile gelir arasında belirgin bir ilişki olduğunu gördüm. Kentleşme oranı arttıkça gelir de artmaktadır.
Verileri belirli zaman aralıklarına ayırdığımda 2000–2022 yılları arasında ülkelerin genel olarak daha zengin hale geldiği görülmektedir. Buna rağmen kentleşmenin gelir üzerindeki etkisi bu dönemler boyunca benzer şekilde devam etmektedir.
Verileri bölgelere göre ayırdığımda ülkelerin belirli gruplar oluşturduğu dikkat çekmektedir. Avrupa ülkeleri genellikle hem kentleşme oranı hem de gelir düzeyi yüksek bir grupta yer alırken, Afrika ülkeleri daha düşük seviyelerde toplanmaktadır. Bu durum ekonomik gelişmenin bölgelere göre farklılaştığını göstermektedir.
Ülkeler arasında büyük gelir farkları olduğu için grafiği logaritmik ölçekte çizdim. Bu sayede kentleşme ile gelir arasındaki ilişki daha net ve anlaşılır hale gelmiştir.
Bu grafikte sadece 2022 yılı verilerine baktım ve geliri 60.000 doların üzerinde olan ülkeleri özellikle gösterdim. Singapur, Lüksemburg ve Katar gibi ülkelerin yüksek kentleşme oranlarına sahip olduğu açıkça görülmektedir.
Son olarak modelin hata terimlerini inceledim. Hataların sıfır çizgisi etrafında dağılması, kurulan regresyon modelinin genel olarak uygun olduğunu göstermektedir.
Bu ödevi yaparken verilerin, bazı temel bilgilerin daha net anlaşılmasını sağladığını anladım. Yaptığım analiz sonucunda ulaştığım en temel sonuç, kentleşmenin bir ülkenin ekonomik olarak gelişmesinde önemli bir etken olmasıdır. Kentleşme oranı artmadan hiçbir ülke yüksek gelirli bir ekonomi seviyesine ulaşamamıştır. Ancak Grafik 6’da görülen sapmalar, sadece insanların şehirlere göç etmesinin tek başına yeterli olmadığını göstermektedir. Bu sürecin sanayileşme ve doğru ekonomik politikalarla desteklenmesi gerekmektedir. Kısaca, kentleşme ekonomik kalkınma için önemli bir adımdır ancak bu sürecin nasıl ilerleyeceği ülkelerin uyguladığı politikalara bağlıdır. Bu çalışma sayesinde veri analizinin sadece hesaplama yapmak olmadığını, ekonomik gelişmeleri anlamada da önemli olduğunu gördüm.
if(!require(WDI)) install.packages("WDI")
## Loading required package: WDI
if(!require(tidyverse)) install.packages("tidyverse")
## Loading required package: tidyverse
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.6
## ✔ forcats 1.0.1 ✔ stringr 1.6.0
## ✔ ggplot2 4.0.1 ✔ tibble 3.3.0
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.2
## ✔ purrr 1.2.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(WDI)
library(tidyverse)
ham_veri <- WDI::WDI(
indicator = c("gdp_cap" = "NY.GDP.PCAP.PP.CD", "urban_rate" = "SP.URB.TOTL.IN.ZS"),
country = "all",
start = 2000,
end = 2022,
extra = TRUE
)
head(ham_veri)
## country iso2c iso3c year status lastupdated gdp_cap urban_rate
## 1 Afghanistan AF AFG 2012 2025-12-19 1988.4293 23.34344
## 2 Afghanistan AF AFG 2016 2025-12-19 2213.1814 24.65883
## 3 Afghanistan AF AFG 2017 2025-12-19 2335.7959 24.83528
## 4 Afghanistan AF AFG 2011 2025-12-19 1744.0606 22.82057
## 5 Afghanistan AF AFG 2000 2025-12-19 813.5503 18.55820
## 6 Afghanistan AF AFG 2013 2025-12-19 2133.2413 23.80771
## region capital longitude latitude income lending
## 1 South Asia Kabul 69.1761 34.5228 Low income IDA
## 2 South Asia Kabul 69.1761 34.5228 Low income IDA
## 3 South Asia Kabul 69.1761 34.5228 Low income IDA
## 4 South Asia Kabul 69.1761 34.5228 Low income IDA
## 5 South Asia Kabul 69.1761 34.5228 Low income IDA
## 6 South Asia Kabul 69.1761 34.5228 Low income IDA
temiz_veri <- ham_veri %>%
filter(year %in% c(2000, 2005, 2010, 2015, 2020, 2022)) %>%
filter(region != "Aggregates") %>%
drop_na(gdp_cap, urban_rate)
nrow(temiz_veri)
## [1] 1175
model_analizi <- lm(gdp_cap ~ urban_rate, data = temiz_veri)
summary(model_analizi)
##
## Call:
## lm(formula = gdp_cap ~ urban_rate, data = temiz_veri)
##
## Residuals:
## Min 1Q Median 3Q Max
## -39519 -10928 -1972 6432 112979
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -15324.71 1362.10 -11.25 <2e-16 ***
## urban_rate 601.80 21.57 27.91 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 17420 on 1173 degrees of freedom
## Multiple R-squared: 0.399, Adjusted R-squared: 0.3985
## F-statistic: 778.7 on 1 and 1173 DF, p-value: < 2.2e-16
temiz_veri$artiklar <- residuals(model_analizi)
veri_2022 <- temiz_veri %>% filter(year == 2022)
ggplot(temiz_veri, aes(x = urban_rate, y = gdp_cap)) +
geom_point(alpha = 0.3, color = "steelblue") +
geom_smooth(method = "lm", color = "darkred") +
labs(title = "1. Kentlesme ve Gelir Arasindaki Genel Iliski", x = "Kentlesme Orani (%)", y = "Kisi Basi Gelir ($)")
## `geom_smooth()` using formula = 'y ~ x'
# 2. Yıllara Göre Kıyaslama Grafiği
ggplot(temiz_veri, aes(x = urban_rate, y = gdp_cap)) +
geom_point(aes(color = as.factor(year)), alpha = 0.5) +
facet_wrap(~year) +
labs(title = "2. Yillara Gore Noktasal Dagilim", x = "Kentlesme (%)", y = "Gelir ($)")
# 3. Bölgesel Kümelenme Grafiği
ggplot(temiz_veri, aes(x = urban_rate, y = gdp_cap)) +
geom_point(aes(color = region), alpha = 0.6) +
labs(title = "3. Bolgesel Dagilim Analizi", x = "Kentlesme (%)", y = "Gelir ($)")
# 4. Logaritmik Ölçekte İlişki Grafiği (Daha net bir doğru için)
ggplot(temiz_veri, aes(x = urban_rate, y = gdp_cap)) +
geom_point(alpha = 0.4, color = "darkgreen") +
scale_y_log10() +
labs(title = "4. Logaritmik Olcekte Nokta Grafigi", x = "Kentlesme (%)", y = "Log(Gelir)")
# 5. 2022 Yılı Güncel Durum Grafiği
ggplot(veri_2022, aes(x = urban_rate, y = gdp_cap)) +
geom_point(color = "darkblue", size = 2) +
geom_text(aes(label = ifelse(gdp_cap > 60000, country, "")), vjust = -1, size = 3, check_overlap = TRUE) +
labs(title = "5. 2022 Yili Guncel Durum Analizi", x = "Kentlesme (%)", y = "Gelir ($)")
# 6. Model Hata Analizi Grafiği
ggplot(temiz_veri, aes(x = urban_rate, y = artiklar)) +
geom_point(alpha = 0.4, color = "purple") +
geom_hline(yintercept = 0, linetype = "dashed", color = "black") +
labs(title = "6. Regresyon Tahmin Hatalari (Artiklar)", x = "Kentlesme (%)", y = "Hata Degeri")