Econometri 2 hafta (Ders Ozeti)

r markdown yukleme ve kullanma

  • demir.pw sayfasinda R ile ekonometri basligi altinda R ve R-stidio yukleme ve kullanma
  • resim yukleme
  • R markdown kullanma, ödev hazırlama ve web sitesi olarak yükleme

Homework

soru 1

Paketler nedir ve niye kullanilir?

soru 2

5 tane ornek paket

cevap 1

  • R studio bu R, istatistiksel analiz, veri manipülasyonu, grafik çizme ve raporlama gibi istatistiksel ve veri analizi görevleri için kullanılan bir programlama dilidir.
  • R Studio’da kullanılan “paketler” R dilinde önceden yazılmış, genellikle belirli görevleri gerçekleştirmek için tasarlanmış fonksiyon ve araçların bir koleksiyonudur. Bu paketler, kullanıcıların belirli görevleri daha hızlı ve kolay bir şekilde gerçekleştirmelerine olanak tanır.
  • paketler once kurulur sonra yuklenir ve yuklenen paketlerin kullanmak icin library komutunu kullanacagiz

cevap 2

  • ggplot2: Veri görselleştirmesi için güçlü bir grafik paketi Bu paket, “Grammar of Graphics” (Grafiklerin Dilbilgisi) konseptine dayanarak, veri görselleştirmesini daha modüler ve esnek hale getirir. ggplot2 ile oluşturulan grafikler, veri setinizin yapısını ve ilişkilerini daha iyi anlamamıza yardımcı olabilir.

ggplot2 paketinin bazı önemli özellikleri şunlardır:

_Modüler Yapı: ggplot2, bir grafik oluşturmak için basit bir dilbilgisi sağlar. Bu dilbilgisi, grafikle ilgili temel bileşenleri (veri seti, estetikler, geometrik nesneler, istatistiksel dönüşümler) bir araya getirmemizi sağlar.

_Katmanlar (Layers): Bir ggplot grafiği, katmanlar halinde oluşturulur. Her katman, bir veya daha fazla veri seti, estetik özellikler, geometrik nesneler ve istatistiksel dönüşümleri içerir. Bu sayede, grafikte farklı bileşenleri kolayca birleştirebiliriz.

_Estetik Özellikler: ggplot2 ile, veri setinizin değişkenlerini grafikte renk, büyüklük, şekil vb. gibi estetik özelliklerle ilişkilendirebiliriz.

_Temalar ve Özelleştirme: Grafiklerin görünümünü özelleştirmek için bir dizi tema ve seçenek sunar. Böylece grafiklerinizi yayın kalitesinde ve görsel olarak çekici hale getirebiliriz.

library(ggplot2)
## Warning: пакет 'ggplot2' был собран под R версии 4.3.3
  • Veri seti olustur
veri <- data.frame(x = rnorm(100), y = rnorm(100))
  • ggplot grafiği oluştur
grafik <- ggplot(data = veri, aes(x = x, y = y)) + geom_point()
print(grafik)

  • readr: Veri okuma ve yazma işlemleri için hızlı ve etkili bir paket. Hadley Wickham tarafından geliştirilen bu paket, veri setlerini hızlı ve düzgün bir şekilde okuma yetenekleri sunar.

readr paketinin bazı önemli özellikleri

_Hız ve Performans: readr, veri setlerini hızlı bir şekilde okuma yeteneği ile bilinir. Büyük veri setleriyle çalışırken daha etkili olabilir.

_Veri Tipleri Tanıma: readr, veri setindeki sütunların veri tiplerini otomatik olarak tanır ve uygun R veri tiplerine dönüştürür. Bu, veri setlerini doğru bir şekilde yüklemeyi kolaylaştırır.

_Delimiter ve Diğer Ayarlar: readr, varsayılan olarak virgülle ayrılmış (CSV) dosyaları okur, ancak diğer ayraçları da destekler. Ayrıca, diğer özellikleri belirtmek için bir dizi seçeneğe sahiptir.

library(readr)
## Warning: пакет 'readr' был собран под R версии 4.3.3
  • Veriyi oku
veri <- read_csv("2020_2_OZTELA.pdf")
## Warning: One or more parsing issues, call `problems()` on your data frame for details,
## e.g.:
##   dat <- vroom(...)
##   problems(dat)
## Rows: 2281 Columns: 1
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): %PDF-1.7
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
  • Veriyi görüntüle
head(veri)
## # A tibble: 6 × 1
##   `%PDF-1.7`                                                                    
##   <chr>                                                                         
## 1 "%\xb5\xb5\xb5\xb5"                                                           
## 2 "1 0 obj"                                                                     
## 3 "<</Type/Catalog/Pages 2 0 R/Lang(tr-TR) /StructTreeRoot 164 0 R/MarkInfo<</M…
## 4 "endobj"                                                                      
## 5 "2 0 obj"                                                                     
## 6 "<</Type/Pages/Count 24/Kids[ 3 0 R 41 0 R 48 0 R 53 0 R 58 0 R 63 0 R 68 0 R…
  • lubridate: Tarih ve zaman manipülasyonu için kullanılır.Bu paket, tarihlerin ve saatlerin işlenmesi, formatlanması, aritmetik işlemler yapılması gibi birçok işlemi basitleştirir.
library(lubridate)
## Warning: пакет 'lubridate' был собран под R версии 4.3.3
## 
## Присоединяю пакет: 'lubridate'
## Следующие объекты скрыты от 'package:base':
## 
##     date, intersect, setdiff, union
  • Şu anki tarihi al
today <- Sys.Date()
  • Belirli bir tarih oluştur
specific_date <- ymd("2024-03-05")
  • Belirli bir saat oluştur
specific_time <- hms("22:36:00")
  • Tarih ve saat birleştirme
datetime <- ymd_hms("2024-03-05 22:36:00")
  • Tarih aritmetiği
new_date <- ymd("2024-03-05") + months(3)
  • Tarih farkı hesaplama
date_diff <- difftime (ymd("2024-03-05"), ymd("2023-01-01"))
  • Tarih formatlama
formatted_date <- format(ymd("2024-03-05"), "%d %B %Y")
  • caret: Sınıflandırma ve regresyon modelleri için bir arayüz sağlar. Bu paket, makine öğrenimi modellerini eğitme, değerlendirme, hiperparametre ayarlama ve veri ön işleme gibi bir dizi görevi kolaylaştırmak için tasarlanmıştır. Model Seçimi ve Eğitimi: caret, bir dizi önceden uyarlanmış makine öğrenimi algoritmasını destekler. train fonksiyonu aracılığıyla, veri kümenizi belirli bir modelle eğitmek için kullanabilirsiniz. Örneğin, bir destek vektör makineleri modeli eğitmek için:
library(caret)
## Warning: пакет 'caret' был собран под R версии 4.3.3
## Загрузка требуемого пакета: lattice
## Warning: пакет 'lattice' был собран под R версии 4.3.3
  • Veri kümesini yükleme
data(iris)
  • Destek vektör makineleri modeli eğitimi
model <- train(Species ~ ., data = iris, method = "svmRadial")

Model Değerlendirme: caret, model performansını değerlendirmek için çeşitli metrikleri sağlar. confusionMatrix ve plot fonksiyonları gibi araçları kullanarak modelin başarı ölçütlerini görselleştirebilirsiniz. - Model performansının değerlendirilmesi

predictions <- predict(model, newdata = iris) confusionMatrix(predictions, iris$Species)

  • data.table: Büyük veri setleri üzerinde hızlı ve etkili veri manipülasyonu için kullanılır. Özellikle büyük veri setleriyle çalışırken performans avantajları sağlar. data.table paketi, veri manipülasyonu için özelleştirilmiş bir syntax sunar ve bazı durumlarda base R’dan daha hızlı çalışabilir.

data.table paketinin önemli özellikleri şunlardır:

Performans: data.table paketi, büyük veri setlerinde base R’dan daha hızlı çalışabilen özel bir veri tablosu sınıfını içerir. Bu, özellikle büyük veri setleriyle çalışırken işlemleri hızlandırabilir.

Syntax Kolaylığı: data.table ile veri manipülasyonu, özel bir syntax kullanılarak gerçekleştirilir. Bu syntax, kullanıcılara base R ile karşılaştırıldığında daha açık ve kısa bir yazım sağlar.

Gruplama ve Agregasyon İşlemleri: data.table ile verileri gruplayabilir ve gruplar üzerinde agregasyon işlemleri gerçekleştirebilirsiniz. Bu, veri setinin belirli kategorilere göre analiz edilmesini sağlar.

Hızlı Sıralama İşlemleri: data.table, veri tablosunu hızlı bir şekilde sıralamak için optimize edilmiştir. Bu özellik, sıralama işlemleri gereken analizlerde performans artışı sağlar.

library(data.table)
## 
## Присоединяю пакет: 'data.table'
## Следующие объекты скрыты от 'package:lubridate':
## 
##     hour, isoweek, mday, minute, month, quarter, second, wday, week,
##     yday, year
  • Örnek bir data.table oluştur
dt <- data.table(ID = c(1, 2, 3, 4),
                 Name = c("John", "Jane", "Bob", "Alice"),
                 Age = c(25, 30, 22, 28))
  • Veriyi ekrana yazdır
print(dt)
##    ID  Name Age
## 1:  1  John  25
## 2:  2  Jane  30
## 3:  3   Bob  22
## 4:  4 Alice  28
  • Veriyi sırala
dt <- dt[order(Age)]
  • Gruplama ve ortalama hesaplama
dt[, .(MeanAge = mean(Age)), by = Name]
##     Name MeanAge
## 1:   Bob      22
## 2:  John      25
## 3: Alice      28
## 4:  Jane      30

Ekonometri 3 hafta

##install.packages("WDI")
library(WDI)
data_WDI <- WDI(country = "all", indicator = c("AG.LND.FRST.ZS", "SP.POP.TOTL"))

yukariya eklersem sadece 2000 yildan baslayip verileri kullanir ,satrt= 2000 ## str kodu

str(data_WDI)
## 'data.frame':    17024 obs. of  6 variables:
##  $ country       : chr  "Afghanistan" "Afghanistan" "Afghanistan" "Afghanistan" ...
##  $ iso2c         : chr  "AF" "AF" "AF" "AF" ...
##  $ iso3c         : chr  "AFG" "AFG" "AFG" "AFG" ...
##  $ year          : int  1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 ...
##  $ AG.LND.FRST.ZS: num  NA NA NA NA NA NA NA NA NA NA ...
##   ..- attr(*, "label")= chr "Forest area (% of land area)"
##  $ SP.POP.TOTL   : num  8622466 8790140 8969047 9157465 9355514 ...
##   ..- attr(*, "label")= chr "Population, total"
##install.packages("tdyverse")
## install.packages("explore")
library(explore)
## Warning: пакет 'explore' был собран под R версии 4.3.3
describe_all(data_WDI)
## # A tibble: 6 × 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       64  1960      1992.        2023  
## 5 AG.LND.FRST.ZS dbl    8848   52     6657     0        32.4         98.6
## 6 SP.POP.TOTL    dbl     359    2.1  16460  2646 215973749.  7950946801

pipe operatoru %>%

tidyverse ve ya dplyr

library(tidyverse)
## Warning: пакет 'tidyverse' был собран под R версии 4.3.3
## Warning: пакет 'forcats' был собран под R версии 4.3.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr   1.1.3     ✔ stringr 1.5.0
## ✔ forcats 1.0.0     ✔ tibble  3.2.1
## ✔ purrr   1.0.2     ✔ tidyr   1.3.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::between()      masks data.table::between()
## ✖ dplyr::filter()       masks stats::filter()
## ✖ dplyr::first()        masks data.table::first()
## ✖ data.table::hour()    masks lubridate::hour()
## ✖ data.table::isoweek() masks lubridate::isoweek()
## ✖ dplyr::lag()          masks stats::lag()
## ✖ dplyr::last()         masks data.table::last()
## ✖ purrr::lift()         masks caret::lift()
## ✖ data.table::mday()    masks lubridate::mday()
## ✖ data.table::minute()  masks lubridate::minute()
## ✖ data.table::month()   masks lubridate::month()
## ✖ data.table::quarter() masks lubridate::quarter()
## ✖ data.table::second()  masks lubridate::second()
## ✖ purrr::transpose()    masks data.table::transpose()
## ✖ data.table::wday()    masks lubridate::wday()
## ✖ data.table::week()    masks lubridate::week()
## ✖ data.table::yday()    masks lubridate::yday()
## ✖ data.table::year()    masks lubridate::year()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors

temiz veri kullanmak icin kullanilir tidyverse

data_WDI %>% describe_all()
## # A tibble: 6 × 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       64  1960      1992.        2023  
## 5 AG.LND.FRST.ZS dbl    8848   52     6657     0        32.4         98.6
## 6 SP.POP.TOTL    dbl     359    2.1  16460  2646 215973749.  7950946801
ek_bilgi<- WDI::WDI_data
df <- left_join(data_WDI , ek_bilgi[["country"]])
## Joining with `by = join_by(country, iso2c, iso3c)`

left_join (data1, data2) datalari yan yana koymak icin kullanilir != “” veridaen cikarmak icin == “” bunun disindakileri veriden cikarip sadece ilgili datayi gormek icin

df <- df %>% filter( income != "Aggregates")
df %>% describe_all()
## # A tibble: 12 × 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       64  1960     1992.        2023  
##  5 AG.LND.FRST.ZS dbl    7161   52     5143     0       32.6         98.6
##  6 SP.POP.TOTL    dbl     245    1.8  13467  2646 24759535.  1417173173  
##  7 region         chr       0    0        7    NA       NA           NA  
##  8 capital        chr       0    0      210    NA       NA           NA  
##  9 longitude      chr       0    0      210    NA       NA           NA  
## 10 latitude       chr       0    0      210    NA       NA           NA  
## 11 income         chr       0    0        5    NA       NA           NA  
## 12 lending        chr       0    0        4    NA       NA           NA

Odev

df_JP_CA <-df %>% filter(iso2c %in% c("JP", "CA"))

== yerine %in% kullanmaya basladi

ggplot(df_JP_CA, aes(year, AG.LND.FRST.ZS , color = country)) +
  geom_line() +
  labs( x = "year" , y= " Value", title="Forest Area between Canada and Japan")
## Warning: Removed 64 rows containing missing values or values outside the scale range
## (`geom_line()`).

##hafta 4

dff <- df %>% filter(year > 1989)
kayip_veriler <- dff %>% group_by(country) %>%
summarise ( kayipsayisi = sum(is.na(AG.LND.FRST.ZS))) 
data <- left_join( dff ,kayip_veriler)
## Joining with `by = join_by(country)`
data <- data %>% filter(kayipsayisi == 2)
clean_df <- data[complete.cases(data), ]
describe_all(clean_df)
## # 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    179    NA       NA           NA  
##  2 iso2c          chr       0      0    179    NA       NA           NA  
##  3 iso3c          chr       0      0    179    NA       NA           NA  
##  4 year           int       0      0     32  1990     2006.        2021  
##  5 AG.LND.FRST.ZS dbl       0      0   4446     0       32.3         98.6
##  6 SP.POP.TOTL    dbl       0      0   5720  9182 34295295.  1412360000  
##  7 region         chr       0      0      7    NA       NA           NA  
##  8 capital        chr       0      0    176    NA       NA           NA  
##  9 longitude      chr       0      0    177    NA       NA           NA  
## 10 latitude       chr       0      0    177    NA       NA           NA  
## 11 income         chr       0      0      5    NA       NA           NA  
## 12 lending        chr       0      0      4    NA       NA           NA  
## 13 kayipsayisi    int       0      0      1     2        2            2

5 hafta

###bireysel ulke secimi ve grafik

isvecre

data_isvecre <- clean_df %>% filter(iso2c == "CH")
library(ggplot2)
ggplot(data_isvecre, aes(x=year, y = AG.LND.FRST.ZS)) +
geom_line(colour = "purple") + theme_classic() + labs( x = "year" , y= " Value", title="Forest area in SWITHERLAND 1990 - 2020")

KESIT VERI ALMAK

data_2020 <- data %>% filter(year==2020)
data_2020 <- data_2020 %>% filter(iso2c != c("CN","US","IN"))
## Warning: There was 1 warning in `filter()`.
## ℹ In argument: `iso2c != c("CN", "US", "IN")`.
## Caused by warning in `iso2c != c("CN", "US", "IN")`:
## ! длина большего объекта не является произведением длины меньшего объекта
ggplot(data_2020 , aes( x = SP.POP.TOTL  , y = AG.LND.FRST.ZS , label=data_2020$iso2c, colour=data_2020$region )) + geom_point(colour = "red") + theme_minimal() + geom_text() 
## Warning: Use of `data_2020$iso2c` is discouraged.
## ℹ Use `iso2c` instead.
## Use of `data_2020$iso2c` is discouraged.
## ℹ Use `iso2c` instead.
## Warning: Use of `data_2020$region` is discouraged.
## ℹ Use `region` instead.

odev

=dunya orman alani 1990 dan 2020 kadar nasil gitmis =dunya populasyonu nasil gitmis ve ikisini birbirine bol =kisi basi orman alani nasil ilerledi onu goster

dunya toplam verisi olusturmak

dunya_datasi <- data %>% group_by(year) %>% summarise(dunyanormanalani = sum(AG.LND.FRST.ZS) ,
 dunyanufusu = sum(SP.POP.TOTL) , kisibasiormanalani = dunyanormanalani/dunyanufusu )
ggplot(dunya_datasi, aes(x= year, y= dunyanormanalani, colour = "skyblue" )) + geom_line() + labs(title = "Dunyadaki orman alanlarinin degisimi 1990-2020", x= "yil" , y= "Dunya ormanan alani"+ theme_minimal())
## Warning: Removed 2 rows containing missing values or values outside the scale range
## (`geom_line()`).

ggplot(dunya_datasi, aes(x= year, y= dunyanufusu, colour = "purple" )) + geom_line() + labs(title = "Dunya Nufusu degisimi", x= "yil" , y= "Dunya Nufusu"+ theme_linedraw())
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_line()`).

ggplot(dunya_datasi, aes(x= year, y= kisibasiormanalani, colour = "yellow" )) + geom_line() + labs(title = "Kişi Başına Düşen Orman Alanının Zamanla Değişimi", x= "yil" , y= "Kişi Başına Düşen Orman Alanı" + theme_classic())
## Warning: Removed 2 rows containing missing values or values outside the scale range
## (`geom_line()`).

senelere gore datalarin birlestirilmesi

data <- left_join(data, dunya_datasi, by = "year")

ulkelerin paylari (odev)

belirli bir ulkenin o sene icin dunya orman alnanindaki payi nedir?

belirli bir ulkenin populasyondaki payi nedir ?

ulkenin senelik verimi nedir?

mutate

data <- data %>% mutate(ulkeormanalaninin_dunypayi = AG.LND.FRST.ZS/dunyanormanalani,
                        ulkenin_populasyonorani = SP.POP.TOTL/dunyanufusu,
                        verimliligi = ulkeormanalaninin_dunypayi/ulkenin_populasyonorani  )

italya icin

ggplot(data[2273:2805 ,] , aes(x = year , y= verimliligi)) + geom_col()
## Warning: Removed 32 rows containing missing values or values outside the scale range
## (`geom_col()`).

Vize Projesi

dunya kentlesme verisi yeterli duzeyde bulunmadigindan dolayi koylu sayisi baz alinmistir POV ; koylu hanehalkinin sehirlere goc etmesi sonucunda (sehir bolgeleri genisletilmek ihtiyaci duymakta ) orman alanlari kesilib sehirlestirilmektedir. Koylu populasyon oranindaki degismelerin dunya orman alanindaki etkilerine bakilacaktir ### Koylu populasyon oranini Dunya Orman Alanındaki etkisine bakılacaktır

AG.LND.FRST.ZS Dunya Orman Alanı

SP.RUR.TOTL.ZS Koylu populasyon orani

library(WDI)
POV <- WDI(country = "all", indicator = c("AG.LND.FRST.ZS", "SP.RUR.TOTL.ZS", "SP.POP.TOTL"))
ekstra_bilgi<- WDI_data [["country"]]
POV <- left_join(POV , ekstra_bilgi)
## Joining with `by = join_by(country, iso2c, iso3c)`
POV <-POV %>% filter(region != "Aggregates")
POV <- POV %>% filter(year > 1989)
describe_all(POV)
## # 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       34  1990     2006.        2023  
##  5 AG.LND.FRST.ZS dbl     711    9.7   5143     0       32.6         98.6
##  6 SP.RUR.TOTL.ZS dbl     281    3.8   6449     0       42.6         94.6
##  7 SP.POP.TOTL    dbl     215    2.9   7086  9182 30351853.  1417173173  
##  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
kayip_veriler_pov <- POV %>% group_by(country) %>%
summarise ( kayipsayisi = sum(is.na(SP.RUR.TOTL.ZS)))
kayip_veriler_pov2 <- POV %>% group_by(country) %>%
 summarise (kayipsayisi2 = sum(is.na(AG.LND.FRST.ZS)))
kayip_veriler_POV<- left_join(kayip_veriler_pov,kayip_veriler_pov2)
## Joining with `by = join_by(country)`
POV <- left_join(POV, kayip_veriler_POV)
## Joining with `by = join_by(country)`
Check_POV <- POV %>% filter(kayipsayisi == 1 , kayipsayisi2 == 2)
POV_dunya_datasi <- Check_POV %>% group_by(year) %>% summarise(dunyanormanalani = sum(AG.LND.FRST.ZS) ,
 dunyakoylunufusu = sum(SP.RUR.TOTL.ZS) ,dunyanufusu = sum(SP.POP.TOTL), dunyakoylunufusudegisimi= dunyakoylunufusu/dunyanufusu )

“dunyanormanalani” için çizgi grafiği

ggplot(POV_dunya_datasi, aes(x = year, y = dunyanormanalani)) +
  geom_line(color = "blue") +
  labs(title = "Dünya Orman Alanı",
       x = "Yıl",
       y = "Orman Alanı (%)") +
  theme_minimal()
## Warning: Removed 2 rows containing missing values or values outside the scale range
## (`geom_line()`).

“Dunya köylü nufusu” için çizgi grafiği

ggplot(POV_dunya_datasi, aes(x = year, y = dunyakoylunufusu)) +
  geom_line(color = "red") +
  labs(title = "Dünya Kırsal Nüfus Oranı",
       x = "Yıl",
       y = "Kırsal Nüfus Oranı (%)") +
  theme_minimal()
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_line()`).

ggplot(POV_dunya_datasi, aes(x = year)) +
  geom_line(aes(y = dunyanormanalani, color = "Dünya Orman Alanı"), size = 1.5) +
  geom_line(aes(y = dunyakoylunufusu, color = "Dünya Köy Nüfusu"), size = 1.5) +
  labs(title = "Dünya Orman Alanı ve Köy Nüfusu İlişkisi",
       x = "Yıl",
       y = "Değer",
       color = "Değişkenler") +
  scale_color_manual(values = c("Dünya Orman Alanı" = "blue", "Dünya Köy Nüfusu" = "red")) +
  theme_minimal()
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## Warning: Removed 2 rows containing missing values or values outside the scale range
## (`geom_line()`).
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_line()`).

Ozet

Yukaridaki grafiklerde anlasildigi gibi 1990-2020 yili boyunca toplanan verilere gore bu iki veri arasinda tek yonlu negatif bir iliski oldugu yani koylu populasyonun azalmasi (kentlesme) sonucunda orman alanlarini oraninin da azalmasi soz konusdur