## R paketleri R programlama dilinde kullanılan ek fonksiyon ve araçların bir araya getirildiği, önceden yazılmış kod parçaları ve işlevlerdir. R paketleri, belirli bir amaca yönelik analiz, veri manipülasyonu, grafik çizimi, istatistiksel modellerle çalışma ve daha fazlası gibi çeşitli görevler için kullanılabilir.

R paketleri, R dilinin esnekliğini ve genişletilebilirliğini artıran birçok ek özellik sunar. Bu paketler, R topluluğu tarafından oluşturulur ve genellikle bir merkezi depo olan CRAN (Comprehensive R Archive Network) üzerinde yayınlanır. Ayrıca, GitHub gibi diğer platformlarda da birçok R paketi bulunabilir.

##R paketleri R programlama dilinde kullanılan ek fonksiyon ve araçların bir araya getirildiği, önceden yazılmış kod parçaları ve işlevlerdir. R paketleri, belirli bir amaca yönelik analiz, veri manipülasyonu, grafik çizimi, istatistiksel modellerle çalışma ve daha fazlası gibi çeşitli görevler için kullanılabilir.

R paketleri, R dilinin esnekliğini ve genişletilebilirliğini artıran birçok ek özellik sunar. Bu paketler, R topluluğu tarafından oluşturulur ve genellikle bir merkezi depo olan CRAN (Comprehensive R Archive Network) üzerinde yayınlanır. Ayrıca, GitHub gibi diğer platformlarda da birçok R paketi bulunabilir.

R paketlerini kullanarak, analizlerinizi hızlandırabilir, tekrar eden görevleri otomatikleştirebilir ve kodunuzu daha düzenli hale getirebilirsiniz. Ayrıca, R paketleri genellikle belirli bir alanda uzmanlaşmış işlevler sunar, bu da size analizlerinizi daha etkili bir şekilde gerçekleştirme imkanı sağlar.

tidyverse

R programlama dilinde veri analizi ve veri manipülasyonu için tasarlanmış bir koleksiyon veya bir “araç seti”dir. tidyverse, veri analizi sürecini daha kolay ve tutarlı hale getirmek için bir dizi popüler R paketini içerir. Bu paketler, veri manipülasyonu, görselleştirme, modelleme ve raporlama gibi veri analizi sürecinin farklı aşamalarında kullanılan işlevleri sağlar.

##“Pacman” R programlama dilinde kullanılan bir paket yöneticisidir. Pacman, R paketlerini yönetmek, yüklemek, güncellemek, kaldırmak ve yüklenmiş paketlerin durumunu kontrol etmek için kullanılan bir araçtır. Pacman, CRAN, Bioconductor ve GitHub gibi farklı kaynaklardan paketleri yönetebilir.

Pacman, özellikle birden fazla R paketi kullanıldığında paket yönetim sürecini daha kolay ve etkili hale getirir. Aşağıda, Pacman’ın temel işlevlerini açıklamaya çalıştım:

  1. Paketleri Yükleme: pacman paketi, p_load() veya p_load_gh() işlevlerini kullanarak bir veya birden fazla paketi yüklemenizi sağlar.

##“Conflicted” R paketi, çakışan işlev isimlerini yönetmek için kullanılan bir araçtır. Çoğu durumda, R paketlerinde aynı isimle farklı işlevler bulunabilir ve bu durumda hangi işlevin kullanılacağı belirsizlik yaratabilir. “Conflicted” paketi, çakışan işlevleri yönetmek ve hangi işlevin kullanılacağını belirlemek için bir dizi işlev sağlar.

<https://data.worldbank.org/indicator/AG.PRD.FOOD.XD?view=chart < https://data.worldbank.org/indicator/SP.POP.TOTL?view=chart

<AG.PRD.FOOD.XD <SP.POP.TOTL

library(WDI)
data <- WDI(country = "all", indicator = c("AG.PRD.FOOD.XD","SP.POP.TOTL"),start = 2000)
str(data)
## 'data.frame':    6384 obs. of  6 variables:
##  $ country       : chr  "Afghanistan" "Afghanistan" "Afghanistan" "Afghanistan" ...
##  $ iso2c         : chr  "AF" "AF" "AF" "AF" ...
##  $ iso3c         : chr  "AFG" "AFG" "AFG" "AFG" ...
##  $ year          : int  2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 ...
##  $ AG.PRD.FOOD.XD: num  67.8 61.6 74.7 76.8 74.8 ...
##   ..- attr(*, "label")= chr "Food production index (2014-2016 = 100)"
##  $ SP.POP.TOTL   : num  19542982 19688632 21000256 22645130 23553551 ...
##   ..- attr(*, "label")= chr "Population, total"
library(explore)
describe_all(data)
## # 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       24  2000      2012.        2023 
## 5 AG.PRD.FOOD.XD dbl    1935   30.3   3141    17        94.2        502.
## 6 SP.POP.TOTL    dbl     289    4.5   6047  9609 285615032.  7950946801
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
data %>% 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       24  2000      2012.        2023 
## 5 AG.PRD.FOOD.XD dbl    1935   30.3   3141    17        94.2        502.
## 6 SP.POP.TOTL    dbl     289    4.5   6047  9609 285615032.  7950946801
Ekstra_veri <- data$country
library(tidyverse)
library("wbstats")
library("ggplot2")
library("gtrendsR")
library("usmap")
library("tidyverse")

##Task 1: Use WorldBank data

food<-wb_search("Food") 
head(food,24)
## # A tibble: 24 × 3
##    indicator_id    indicator                                      indicator_desc
##    <chr>           <chr>                                          <chr>         
##  1 1101000         1101000:FOOD AND NON-ALCOHOLIC BEVERAGES       <NA>          
##  2 1101100         1101100:FOOD                                   <NA>          
##  3 1101130         1101130:Fish and seafood                       <NA>          
##  4 1101190         1101190:Food products n.e.c. (Class)           <NA>          
##  5 AG.AID.CREL.MT  Cereal food aid deliveries (FAO, tonnes)       Food aid ship…
##  6 AG.AID.FOOD.MT  Total food (cereals and non-cereal) food aid … Food aid repr…
##  7 AG.AID.NCREL.MT Non-cereal food aid deliveries (FAO, tonnes)   Non-cereal co…
##  8 AG.LND.BLY.HA   Land under barley production (hectares)        Land under ba…
##  9 AG.LND.CERE.ZS  Cereal cropland (% of land area)               Land under ce…
## 10 AG.LND.CREL.HA  Land under cereal production (hectares)        Land under ce…
## # ℹ 14 more rows
data <- wb_data("AG.AID.CREL.MT",
                    start_date = 2000, end_date = 2012)

-Öncelikle Afrika’ya yapılan Tahıl gıda yardımının miktarına bakalım.

ggplot(data, aes(date, AG.AID.CREL.MT, group = country)) +
  geom_line(aes(color = country))+
 theme(legend.position = "none")+
   ylab("Cereal Food Aid")+
    scale_x_continuous(name="Year", breaks=seq(2000,2012,1)) + 
  labs(title = "Cereal Food Aid in Africa")
## Warning: Removed 18 rows containing missing values or values outside the scale range
## (`geom_line()`).

-Afrika ülkeleri arasında en fazla tahıl gıda yardımını Etiyopya ve Sudan aldı; 2003 yılında Etiyopya özellikle büyük bir yardım aldı. Ülke tarihindeki en ciddi kuraklıklardan biri, gıda yardımlarıyla sonuçlandı. 2005 yılında Sudan, birçok köyün yıkılması ve yaklaşık 2 milyon insanın Sudan hükümeti ve milisleri tarafından zorla yerinden edilmesiyle önemli bir yıkım yaşadı. Bu kampanya doğrudan veya dolaylı olarak 70.000 kişinin ölümüyle sonuçlandı. Etiyopya polis katliamı olarak da bilinen Etiyopya’da Haziran ve Kasım 2005’te yaşanan olaylar, hükümet güçlerinin sivilleri öldürmesini, 193 protestocunun ölümüne ve 763 kişinin de yaralanmasına yol açtı. Sudan ve Etiyopya’daki siyasi şiddet, bu ülkelerin aldığı gıda yardımının miktarıyla ilgili olabilir.

newdata <- data[ which(data$country=="Ethiopia"| data$country=="Sudan"),]

ggplot(newdata, aes(date, AG.AID.CREL.MT, group = country)) +
  geom_line(aes(color = country))+
   ylab("Cereal Food Aid")+
    scale_x_continuous(name="Year", breaks=seq(2000,2012,1))+ 
  labs(title = "Cereal Food Aid in Ethiopia and Sudan")
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_line()`).

Şimdi tahıl dışı gıda yardımının miktarına bakalım.

ncereal <- wb_data("AG.AID.NCREL.MT",
                    start_date = 2000, end_date = 2012)

Aynı şekilde Afrika ülkeleri arasında en fazla tahıl dışı gıda yardımını Etiyopya ve Sudan aldı. Ancak Sudan, Etiyopya’dan daha fazla tahıl dışı gıda yardımı aldı. Özellikle Sudan hem 2005 hem de 2008’de büyük bir alıcıydı.

ggplot(ncereal, aes(date, AG.AID.NCREL.MT, group = country)) +
  geom_line(aes(color = country))+
 theme(legend.position = "none")+
   ylab("Non Cereal Food Aid")+
    scale_x_continuous(name="Year", breaks=seq(2000,2012,1))+ 
  labs(title = "Non Cereal Food Aid in Africa")
## Warning: Removed 30 rows containing missing values or values outside the scale range
## (`geom_line()`).

newnc <- ncereal[ which(ncereal$country=="Ethiopia"| ncereal$country=="Sudan"),]

ggplot(newnc, aes(date, AG.AID.NCREL.MT, group = country)) +
  geom_line(aes(color = country))+
   ylab("Non Cereal Food Aid")+
    scale_x_continuous(name="Year", breaks=seq(2000,2012,1))+ 
  labs(title = "Non Cereal Food Aid in Ethiopia and Sudan")
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_line()`).

2 Görev: Google Trendler verilerini kullanın

Son 12 aydaki kpop için Google trendlerini görmek istiyorum.

kpop<-gtrends("kpop", geo = c("CA","US"), time="today 12-m")
kpop_time<-kpop$interest_over_time
ggplot(kpop_time, aes(date, hits, group = geo)) +
  geom_line(aes(color = geo))+
   ylab("Google tredns for kpop")+
   labs(colour = "Country") +
  geom_vline(xintercept = as.POSIXct(as.Date("2022-07-17")),color = "black",linetype="dashed")+ 
  labs(title = "Google Trends for kpop")

concert<-gtrends("kpop concert", geo = c("CA","US"), time="today 12-m")
concert_time<-concert$interest_over_time
ggplot(concert_time, aes(date, hits, group = geo)) +
  geom_line(aes(color = geo))+
   ylab("Google tredns for kpop concert")+
   labs(colour = "Country") +
  geom_vline(xintercept = as.POSIXct(as.Date("2022-07-17")),color = "black",linetype="dashed")+ 
  labs(title = "Google Trends for kpop concert")

Ayrıca K-pop’a en fazla ilginin hangi eyalette olduğunu da araştırmak istedim. Google Trends verilerine göre Hawaii ve Kaliforniya, K-pop’a yönelik en yüksek arama ilgisini gösteriyor; ardından Nevada, Texas ve Georgia geliyor.

kpopstates<-kpop$interest_by_region
kpopstates <- kpopstates[ which(kpopstates$geo=="US"),]
kpopstates$fips <-fips(kpopstates$location)

plot_usmap(data = kpopstates, values = "hits",  color = "red", labels=FALSE) + 
  scale_fill_continuous( low = "white", high = "red", 
                         name = "Hits", label = scales::comma) + 
  theme(legend.position = "right") + 
  theme(panel.background = element_rect(colour = "black")) + 
  labs(title = "Google Trends for K-pop by State")