PAKET YÜKLEME

library(WDI)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.0     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── 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(dplyr)
library(ggplot2)
library(explore)

Gerekli olan paketleri yükledim.

VERİYİ YÜKLEME VE İŞLEME

Data <- WDI(country = "all", indicator = c("SM.POP.NETM","SP.POP.TOTL","NY.GDP.MKTP.CD"),start = 2000,end = 2020)

SM.POP.NETM (net göç alımı) SP.POP.TOTL (nufüs) NY.GDP.MKTP.CD (gsyh)

describe_all(Data)
## # A tibble: 7 × 8
##   variable       type     na na_pct unique       min     mean      max
##   <chr>          <chr> <int>  <dbl>  <int>     <dbl>    <dbl>    <dbl>
## 1 country        chr       0    0      266       NA  NA       NA      
## 2 iso2c          chr       0    0      266       NA  NA       NA      
## 3 iso3c          chr       0    0      262       NA  NA       NA      
## 4 year           int       0    0       21     2000   2.01e 3  2.02e 3
## 5 SM.POP.NETM    dbl      21    0.4   5141 -5955151  -7.79e 4  5.82e 6
## 6 SP.POP.TOTL    dbl      21    0.4   5521     9609   2.82e 8  7.82e 9
## 7 NY.GDP.MKTP.CD dbl     211    3.8   5340 13964732.  2.00e12  8.78e13
ekstra_data <- WDI_data$country
data_extra <-  left_join(Data, ekstra_data)
## Joining with `by = join_by(country, iso2c, iso3c)`
data_extra <- data_extra %>% filter(income != "Aggregates")
data_extra %>% describe_all()
## # A tibble: 13 × 8
##    variable       type     na na_pct unique       min          mean      max
##    <chr>          <chr> <int>  <dbl>  <int>     <dbl>         <dbl>    <dbl>
##  1 country        chr       0    0      215       NA            NA  NA      
##  2 iso2c          chr       0    0      215       NA            NA  NA      
##  3 iso3c          chr       0    0      215       NA            NA  NA      
##  4 year           int       0    0       21     2000          2010   2.02e 3
##  5 SM.POP.NETM    dbl       0    0     4156 -2290411           158.  1.48e 6
##  6 SP.POP.TOTL    dbl       0    0     4512     9609      31892124.  1.41e 9
##  7 NY.GDP.MKTP.CD dbl     190    4.2   4326 13964732. 304478744887.  2.14e13
##  8 region         chr       0    0        7       NA            NA  NA      
##  9 capital        chr       0    0      210       NA            NA  NA      
## 10 longitude      chr       0    0      210       NA            NA  NA      
## 11 latitude       chr       0    0      210       NA            NA  NA      
## 12 income         chr       0    0        5       NA            NA  NA      
## 13 lending        chr       0    0        4       NA            NA  NA
eksik_veriler <- data_extra[is.na(data_extra$NY.GDP.MKTP.CD),]
kayip_degerler <- data_extra %>% group_by(country) %>%
  summarise(kayip = sum(is.na(NY.GDP.MKTP.CD)))
Data <- left_join(data_extra, kayip_degerler)
## Joining with `by = join_by(country)`
Data <- Data %>%  filter (kayip < 1)
describe_all(Data)
## # A tibble: 14 × 8
##    variable       type     na na_pct unique       min          mean      max
##    <chr>          <chr> <int>  <dbl>  <int>     <dbl>         <dbl>    <dbl>
##  1 country        chr       0      0    193       NA            NA  NA      
##  2 iso2c          chr       0      0    193       NA            NA  NA      
##  3 iso3c          chr       0      0    193       NA            NA  NA      
##  4 year           int       0      0     21     2000          2010   2.02e 3
##  5 SM.POP.NETM    dbl       0      0   3783 -2290411          1978.  1.48e 6
##  6 SP.POP.TOTL    dbl       0      0   4051     9609      34833429.  1.41e 9
##  7 NY.GDP.MKTP.CD dbl       0      0   4053 13964732. 323643664482.  2.14e13
##  8 region         chr       0      0      7       NA            NA  NA      
##  9 capital        chr       0      0    190       NA            NA  NA      
## 10 longitude      chr       0      0    193       NA            NA  NA      
## 11 latitude       chr       0      0    193       NA            NA  NA      
## 12 income         chr       0      0      4       NA            NA  NA      
## 13 lending        chr       0      0      4       NA            NA  NA      
## 14 kayip          int       0      0      1        0             0   0

Veriler analiz yapmaya hazır

Bireysel Ülke seçimi ve grafik çizimi

amerika <- Data %>% filter(iso2c == "US")
ggplot(amerika, aes(x=year,y=SM.POP.NETM))+
  geom_line(colour="red")+
  labs(title="2000-2020 ye kadar abd göç alımı")

#### sene seçimi

Data_2015 <- Data %>% filter(year==2015)
ggplot(Data_2015,aes(x=SP.POP.TOTL,y=SM.POP.NETM, label = iso2c,colour = region)) + 
  geom_point() +
    geom_text()

veriler fazla olduğu için sadece fazla göç alan ülkeleri almak istiyorum

Data_2015_y <- Data_2015 %>% filter(SM.POP.NETM > 75000)
ggplot(Data_2015_y,aes(x=SP.POP.TOTL,y=SM.POP.NETM, label = iso2c,colour = region)) + 
  geom_point() +
    geom_text()

dünya toplam üretimi bulma

world_data <- Data %>% 
  group_by(year) %>%
  summarise(nufus = sum(SP.POP.TOTL),
            uretim= sum(NY.GDP.MKTP.CD),
            kisibasina = sum(uretim/nufus))
ggplot(world_data, aes(x=year,y=uretim))+
  geom_line()+
  scale_y_continuous(labels = scales::comma)+
  labs(title="2000-2020 Arasında dünya toplam üretimi")

ggplot(world_data, aes(x=year,y=kisibasina, colour="red"))+
  geom_line()+
  scale_y_continuous(labels = scales::comma)+
  labs(title = "2000-2022 kişi başı üretim",
       x="Yil", y="kişi başına üretim") +
  theme_classic()

Data <- left_join(Data, world_data, by="year")

Ülkelerin Payları

Belirli bir ülkenin o sene için üretimdeki payı nedir?

Belirli bir ülkenin nüfüstaki payı nedir?

Ülkenin senelik veremi nedir?

Verim ile göç alımı arasında nasıl bir ilişki var

mutate

Data <- Data %>% mutate(ulkeninuretimorani = (NY.GDP.MKTP.CD    )/uretim,
                        populyasyonorani = SP.POP.TOTL/nufus,
                        verim = ulkeninuretimorani/populyasyonorani)
ggplot(Data[3907:3927 , ], aes(x=year,y=verim))+
  geom_line()+
labs(title = "2000-2020 yılları arasında Abd'nin verim katsayısı")

ggplot(Data[3907:3927 , ], aes(x=year,y=populyasyonorani))+
  geom_line()+
labs(title = "2000-2020 yılları arasında Abd'nin dünyadakı populasyon  oranı")

ggplot(Data[3907:3927 , ], aes(x=year,y=ulkeninuretimorani))+
  geom_line()+
labs(title = "2000-2020 yılları arasında Abd'nin dünyadakı üretim  orani")

Net göç alımı ve Verim

Data_2000 <- Data %>% filter(year==2000)
ggplot(Data_2000,aes(x=SM.POP.NETM,y=verim, label = iso2c,colour = region)) + 
  geom_point() +
    geom_text()+
  geom_hline(yintercept = 1)+
  theme_classic()

Ülke sayısını azaltmak için Sadece avrupa ve merkezi asya kıtasına bakmak istiyorum

Data_2000_eu <- Data_2000 %>% filter(region == "Europe & Central Asia")
ggplot(Data_2000_eu,aes(x=SM.POP.NETM,y=verim, label = iso2c,colour = region)) + 
  geom_point() +
    geom_text()+
  geom_hline(yintercept = 1)+
  scale_x_continuous(labels = scales::comma)+
 theme_classic()+
  labs(title="Net göç alımı ve Verim arasındakı ilişkı",x="Net göç alımı", y="Verim")

Verimi 1 den düsük olan ülkelerde net göç alımı 0’e yakın hatta negatif yani ülke vatandaşları farklı ülkelere göç etmiş. Ülkelerın Verimi ne kadar büyükse ülkeleye giren net göç alımı o kadar artıyor. Verim katsayısı ve Net goç alımı arasında pozitif bir ilişki var.

Kişi başına gelir ve Verim arasındakı ilişki

ggplot(Data_2000_eu,aes(x=NY.GDP.MKTP.CD/SP.POP.TOTL,y=verim, label = iso2c,colour = region)) + 
  geom_point() +
    geom_text()+
  geom_hline(yintercept = 1)+
  scale_x_continuous(labels = scales::comma)+
 theme_classic()+
  labs(title="Kişi başına gelir ve Verim arasındakı ilişki",x="KBG", y="Verim")

Verimi 1 den büyük olan ülkeler Genellikle kişi başına geliri verim arttikca artiyor. Verim kişi başına gelır arasında doğrusal bir ilişki var.