EKONOMETRİ 2 VİZE PROJESİ
R NEDİR
“R”, istatistiksel hesaplamalar, veri analizi ve grafik oluşturma için kullanılan bir programlama dilidir. Aynı zamanda bir çevre (environment) ve bir yazılım paketlerinin bir koleksiyonudur. R, özellikle istatistiksel analizler, veri görselleştirme ve veri madenciliği gibi alanlarda popülerdir R’in temel özellikleri şunlardır: Vektör Tabanlı Dil: R, vektörler, matrisler, listeler ve veri çerçeveleri gibi veri yapıları üzerinde etkili bir şekilde çalışabilir. Grafik Oluşturma: R, basit çizimlerden karmaşık grafiklere kadar geniş bir grafik oluşturma kapasitesine sahiptir. ggplot2 gibi popüler paketlerle bu kapasite daha da artırılabilir. Paket Yönetimi: R, birçok istatistiksel ve grafiksel paketle birlikte gelir. CRAN (Comprehensive R Archive Network) gibi birçok paketin indirilebildiği bir depoya sahiptir. Çapraz Platform: R, Windows, macOS ve Linux gibi farklı işletim sistemlerinde çalışabilir Esneklik: R, geniş bir istatistiksel fonksiyon koleksiyonuna ve veri manipülasyon araçlarına sahiptir, bu da kullanıcıların kendi analizlerini özelleştirmelerine olanak tanır. R, özellikle akademik araştırmalarda, veri bilimi projelerinde ve istatistiksel analizlerde yaygın olarak kullanılmaktadır. R’ın açık kaynaklı olması ve büyük bir kullanıcı topluluğuna sahip olması, sürekli olarak yeni fonksiyonlar ve paketlerin geliştirilmesine olanak tanır
paketler
R’da birçok işlevsellik, özellik ve algoritma özel amaçlı paketler aracılığıyla sağlanır. CRAN (Comprehensive R Archive Network) ve diğer kaynaklar üzerinden binlerce paket indirilebilir. İşte R’da popüler bazı paketler ve bu paketlerin sunduğu temel özellikler:
paketler neden önemlidir
R’da paketler, dilin temel işlevselliğini genişletmek ve özelleştirmek için kullanılır. Paketlerin önemi birkaç ana nedenden kaynaklanmaktadır: Fonksiyonel Genişletme: R’ın temel dilinde bulunan fonksiyonların yanı sıra, paketler yeni ve özelleştirilmiş fonksiyonlar ekler. Bu, kullanıcıların daha spesifik ve karmaşık analizler yapabilmesini sağlar. Veri Görselleştirme ve Analiz: ggplot2 gibi paketler sayesinde R, yüksek kaliteli ve özelleştirilebilir grafikler oluşturabilir. Bu grafikler, veri analizinin ve sonuçların görsel olarak temsil edilmesinde kritik öneme sahiptir. Veri Manipülasyonu ve Temizleme: dplyr, tidyr gibi paketler, veri temizleme, dönüştürme ve manipülasyon işlemlerini kolaylaştırır. Bu, veri bilimi ve analiz projelerinde veri hazırlığı aşamasını hızlandırır ve basitleştirir. Özel Amaçlı Analiz ve Modelleme: Paketler, zaman serisi analizi, makine öğrenimi, doğrusal ve doğrusal olmayan modeller gibi özel analizler ve modellemeler için özel fonksiyonlar ve algoritmalar sağlar. Kod Tekrarını Azaltma: Paketler, tekrar tekrar kullanılan kod parçalarını ve işlemleri içerir. Bu, kodun yeniden kullanılabilirliğini artırır ve yazma süresini azaltır. Topluluk Katkısı: Açık kaynaklı bir doğaya sahip olan R paketleri, geniş bir kullanıcı topluluğu tarafından sürekli olarak geliştirilir ve güncellenir. Bu, kullanıcıların en son yöntemleri, teknikleri ve araçları kullanarak projelerini gerçekleştirmesini sağlar. Esneklik ve Özelleştirme: R’ın paket tabanlı doğası, kullanıcıların ihtiyaçlarına ve gereksinimlerine göre dilin işlevselliğini esnek bir şekilde genişletmesini ve özelleştirmesini sağlar. Öğrenme ve Eğitim: Farklı alanlarda ve konularda özel amaçlı paketler, öğrencilerin ve araştırmacıların konuyla ilgili kavramları ve teknikleri daha kolay ve etkili bir şekilde öğrenmelerini sağlar. Sonuç olarak, R paketleri dilin işlevselliğini genişletir, veri analizi ve işleme süreçlerini kolaylaştırır, kullanıcıların özel amaçlı analizler ve modellemeler yapmalarını sağlar ve genel olarak R dilinin gücünü ve esnekliğini artırır. Bu nedenlerle, R paketleri R dilinin ayrılmaz bir parçasıdır ve R’ın popülerliği ve kullanım alanını genişleten önemli bir faktördür.
paketler nasıl erişilir
R’da paketlere erişme ve yükleme yöntemleri:
CRAN (Comprehensive R Archive Network) Üzerinden Erişim: CRAN, R paketlerinin ana dağıtım noktasıdır. R’da bir paketi CRAN üzerinden erişmek ve yüklemek için şu adımları izleyebilirsiniz:
Paket Yükleme: install.packages() fonksiyonunu kullanarak bir paketi yükleyebilirsiniz.
install.packages(“ggplot2”) Paket Kullanımı: Paketi yükledikten sonra library() fonksiyonuyla yüklenen paketi kullanabilirsiniz.
library(ggplot2) GitHub Üzerinden Erişim: Bazı R paketleri, geliştirme aşamasında oldukları için CRAN’da bulunmayabilir. Bu tür paketlere GitHub üzerinden erişebilirsiniz: Paket Yükleme: devtools paketini kullanarak GitHub’dan bir paketi yükleyebilirsiniz.
install.packages(“devtools”) devtools::install_github(“kullanici_adi/paket_adi”) Paket Kullanımı: Paketi yükledikten sonra library() fonksiyonuyla yüklenen paketi kullanabilirsiniz.
library(paket_adi) Diğer Kaynaklar: Bazı özel amaçlı ve geniş kapsamlı R paketleri, CRAN veya GitHub dışında farklı kaynaklarda bulunabilir. Bu tür paketleri yüklemek için genellikle paketin belgelendirmesinde veya web sitesinde belirtilen özel yönergeleri takip etmelisiniz. Notlar: R paketlerini yüklerken internet bağlantınızın olması gerekmektedir. install.packages() fonksiyonunu kullanarak birden fazla paketi aynı anda yükleyebilirsiniz. Örneğin: install.packages(c(“ggplot2”, “dplyr”)) Bu yöntemler sayesinde R paketlerine erişebilir, yükleyebilir ve kullanabilirsiniz. Yükleme işlemi genellikle otomatik olarak yapılır ve gerekli bağımlılıklar da dahil edilir.
lme4
paketi, R’da lineer karışık etkiler modelleri (linear mixed-effects models) için kullanılan popüler bir pakettir. Bu paket, özellikle tekrarlı ölçümler ve grup etkileri içeren veri setleri üzerinde analiz yapmak için kullanılır. lme4 paketi, farklı düzeylerdeki yapılara sahip verileri analiz etmek için esnek ve güçlü bir araçkittir.
lme4 Paketinin Temel İşlevleri: lineer karışık etkiler modelleri (LMM): Tekrarlı ölçümler, grup etkileri veya hem sabit hem de rastgele etkileri içeren modeller için analiz yapabilir.
lineer karışık etkiler modelleri (GLMM): Kategorik yanıtlar için lineer karışık etkiler modelleri uygulayabilir. Örneğin, ikili veya çok sınıflı yanıt değişkenleri için kullanılır.
Doğrusal modeller (LM) ve Doğrusal karışık etkiler modelleri (LMM): Geleneksel lineer modellerin yanı sıra doğrusal karışık etkiler modellerini de destekler.
lme4 Paketini Kullanma Örneği: Paketi yükledikten sonra, lmer() fonksiyonunu kullanarak lineer karışık etkiler modeli oluşturabilirsiniz.
lme4 paketini yükle install.packages(“lme4”) library(lme4)
Örnek veri seti oluşturma data <- data.frame( Y = c(5, 7, 6, 8, 9, 10), # Yanıt değişkeni X1 = c(1, 2, 3, 1, 2, 3), # Bağımsız değişken 1 X2 = c(2, 3, 1, 3, 1, 2), # Bağımsız değişken 2 Group = c(“A”, “A”, “B”, “B”, “C”, “C”) # Grup değişkeni )
Lineer karışık etkiler modeli oluşturma model <- lmer(Y ~ X1 + X2 + (1|Group), data = data)
Model özetini görüntüleme summary(model) Bu örnekte, Y yanıt değişkeni için X1 ve X2 bağımsız değişkenlerini ve Group grup etkisini içeren bir lineer karışık etkiler modeli oluşturduk.
lme4 paketi, karmaşık veri yapıları ve grup yapısı içeren veriler üzerinde analiz yaparken kullanıcıya esneklik ve güç sağlar. Ancak, bu tür modellerin yorumlanması ve doğru bir şekilde uygulanması bazı istatistiksel bilgi gerektirir. Bu nedenle, lme4 paketini kullanmadan önce lineer karışık etkiler modelleri hakkında temel bir anlayışa sahip olmanız önerilir.
rmarkdown, R’da dinamik belgeler, raporlar, sunumlar ve web sayfaları oluşturmak için kullanılan bir pakettir. R Markdown, R kodunu, metni ve grafikleri bir araya getirerek interaktif ve yeniden üretilebilir dokümanlar oluşturmanızı sağlar. R Markdown, hem araştırma projeleri hem de veri analizi sonuçlarını paylaşmak için oldukça kullanışlıdır.
rmarkdown Paketinin Temel Özellikleri: Dinamik Rapor Oluşturma: R Markdown, R kodunu doğrudan belgenize ekleyerek dinamik raporlar oluşturmanıza olanak tanır. Bu sayede analiz sonuçlarınızı anında belgenize entegre edebilirsiniz.
Çeşitli Çıkış Biçimleri: rmarkdown ile HTML, PDF, Word, PowerPoint ve daha birçok format için çıktı alabilirsiniz. Bu, oluşturduğunuz dokümanın yaygın olarak kullanılan birçok platformda görüntülenmesini sağlar.
Kod ve Çıktı Entegrasyonu: R kodu ve çıktıları otomatik olarak dokümana eklenir. Bu, analiz sürecinizi ve sonuçlarınızı açıkça gösterir ve yeniden üretilebilirliği artırır.
Şablonlar ve Özel Temalar: Önceden tanımlanmış şablonlar kullanarak veya özel temalar oluşturarak belgelerinizin görünümünü özelleştirebilirsiniz.
rmarkdown Kullanma Örneği: R Markdown Dosyası Oluşturma: Yeni bir R Markdown dosyası oluşturmak için File > New File > R Markdown… seçeneklerini takip edebilirsiniz.
Kod ve Metin Yazma: R Markdown dosyası içerisinde metin yazabilir ve
R kodu ekleyebilirsiniz. R kodunu belirtmek için üç ters tırnak
() işaretini ve r kodunu ({r}) kullanabilirsiniz.
markdown
“R Markdown Örneği”
Başlık 2
Bu bir R Markdown örneğidir. Aşağıda bir R kodu örneği bulunmaktadır.
summary(mtcars) markdown Dokümanın Derlenmesi**: R Markdown dosyasını
derlemek için Knit butonuna tıklayabilirsiniz. Bu işlem, R
kodunu çalıştırır, çıktıları dokümana ekler ve belgeyi istediğiniz çıktı
biçimine dönüştürür.
Özet: rmarkdown, R kodu, metin ve grafikleri bir araya
getirerek dinamik ve interaktif dokümanlar oluşturmanızı sağlar. R
Markdown’ın bu esnek ve güçlü özellikleri sayesinde, veri analizi
sonuçlarınızı, araştırma bulgularınızı veya diğer R projelerinizi etkili
bir şekilde paylaşabilir ve sunabilirsiniz.
stringr,
R’da dize işleme (string manipulation) için kullanılan bir pakettir. Bu paket, dize (string) manipülasyon işlemleri yapmayı kolaylaştıran bir dizi fonksiyon içerir. stringr paketi, R’ın temel dize işleme fonksiyonlarına ek olarak daha tutarlı ve kullanıcı dostu bir arayüz sunar.
stringr Paketinin Temel Fonksiyonları: Dize Araştırma ve Değiştirme: Belirli bir dize içinde alt dize arama ve değiştirme işlemleri için kullanılır.
“string” kelimesini “dize” olarak değiştirme new_text <- str_replace(text, “string”, “dize”) print(new_text) Dize Bölme ve Birleştirme: Bir dizeyi belirli bir ayıraçla bölme veya ayrı dize parçalarını birleştirme işlemleri için kullanılır.
Virgül ile ayrılmış dizeyi bölme parts <- str_split(text, “,”) print(parts)
Dize parçalarını birleştirme new_text <- str_c(parts[[1]], collapse = “;”) print(new_text) Dize Başlangıç ve Bitiş Kontrolü: Bir dizenin belirli bir alt dizeyle başlayıp başlamadığını veya belirli bir alt dizeyle bittiğini kontrol etme işlemleri için kullanılır.
e text <- “R’da string işlemleri öğreniyoruz.”
Dizenin “R” ile başlayıp başlamadığını kontrol etme starts_with <- str_starts(text, “R”) print(starts_with)
Dizenin “uz.” ile bittiğini kontrol etme ends_with <- str_ends(text, “uz.”) print(ends_with) Dize Büyüklük-Küçüklük Değiştirme: Tüm dizeyi büyük harflere veya küçük harflere dönüştürme işlemleri için kullanılır.
text <- “R’da string işlemleri öğreniyoruz.”
Dizeyi büyük harflere dönüştürme upper_text <- str_to_upper(text) print(upper_text)
Dizeyi küçük harflere dönüştürme lower_text <- str_to_lower(text) print(lower_text) Özet: stringr paketi, R’da dize işleme işlemlerini yapmayı kolaylaştırır ve daha tutarlı bir kullanıcı deneyimi sunar. Bu paket, dize manipülasyonları için bir dizi işlevsellik sağlar ve dize işleme işlemlerini daha hızlı ve etkili bir şekilde gerçekleştirmenizi sağlar
tidyverse
, R için tasarlanmış bir koleksiyon (suite) paketlerdir ve veri bilimi ve veri analizi için kullanılan bir dizi araç ve paketi içerir. tidyverse, R’ın temel veri yapıları ve işlemleri üzerine inşa edilmiştir ve veri işleme, görselleştirme ve modelleme işlemlerini daha tutarlı ve etkili bir şekilde yapmayı amaçlar.
tidyverse Koleksiyonuna Dahil Olan Temel Paketler: ggplot2: Veri görselleştirme için kullanılan kapsamlı bir pakettir. Declarative grafik oluşturma dilini kullanarak yüksek kaliteli grafikler oluşturmanıza olanak tanır.
dplyr: Veri manipülasyonu için kullanılan bir pakettir. Veri çerçeveleri üzerinde filtreleme, toplama, sıralama ve diğer işlemleri kolaylaştırır.
tidyr: Veri temizleme ve dönüştürme için kullanılan bir pakettir. Geniş formatlı veriyi uzun formatlı veriye veya tersine dönüştürmek için kullanılır.
readr: Veri okuma işlemleri için kullanılan bir pakettir. CSV, TSV ve diğer veri formatlarını hızlı ve etkili bir şekilde okumanızı sağlar.
purrr: Fonksiyonel programlama için kullanılan bir pakettir. Vektörler, listeler ve veri çerçeveleri üzerinde döngüleri ve işlevleri kolaylaştırır.
tibble: Modern bir veri çerçevesi sınıfıdır. data.frame’e benzer, ancak daha okunabilir ve kullanıcı dostudur.
stringr: Dize işleme için kullanılan bir pakettir. Dize manipülasyonları yapmayı kolaylaştırır.
forcats: Kategorik değişkenleri (faktörler) işlemek için kullanılan bir pakettir. Faktör seviyelerini düzenleme, sıralama ve diğer işlemleri yapmayı kolaylaştırır.
tidyverse Kullanma Örneği: tidyverse paketini yüklemek ve kullanmak için şu adımları takip edebilirsiniz:
tidyverse paketini yükle install.packages(“tidyverse”)
tidyverse paketini kullan library(tidyverse)
Örnek veri seti oluşturma data <- tibble( name = c(“Alice”, “Bob”, “Charlie”), age = c(25, 30, 35), city = c(“New York”, “Los Angeles”, “Chicago”) )
Veri setini dplyr paketiyle filtreleme filtered_data <- data %>% filter(age > 28)
Filtrelenmiş veri setini gösterme print(filtered_data) Özet: tidyverse, R’da veri bilimi ve veri analizi için kullanılan kapsamlı bir koleksiyon pakettir. tidyverse’in içerdiği araçlar ve paketler, veri işleme, görselleştirme ve modelleme işlemlerini daha tutarlı, etkili ve kullanıcı dostu bir şekilde yapmanıza olanak tanır. Bu nedenle, veri bilimi ve veri analizi projelerinde tidyverse sıkça tercih edilen bir araçtır.
purrr, tidyverse koleksiyonunun bir parçası olarak R’da fonksiyonel programlama için kullanılan bir pakettir. purrr, vektörler, listeler ve veri çerçeveleri üzerinde döngüleri ve işlevleri kolaylaştıran ve esnek bir yapı sağlayan bir dizi fonksiyon içerir. Bu paket, veri manipülasyonu ve analizi sırasında sıkça kullanılan tekrarlayan işlemleri daha etkili bir şekilde yapmayı sağlar.
purrr
Paketinde Bulunan Temel Fonksiyonlar: map(): Bir vektör, liste veya veri çerçevesi üzerinde belirtilen işlevi uygular ve sonuçları liste olarak döndürür.
library(purrr)
Örnek bir vektör numbers <- c(1, 2, 3, 4, 5)
Karekökünü al sqrt_numbers <- map(numbers, sqrt) print(sqrt_numbers) map2(): İki vektör veya liste üzerinde belirtilen işlevi uygular.
İki örnek vektör names <- c(“Alice”, “Bob”, “Charlie”) ages <- c(25, 30, 35)
İki vektörü birleştir combined <- map2(names, ages, ~paste(.x, “is”, .y, “years old”)) print(combined) map_df() ve map_dfr(): Veri çerçeveleri üzerinde belirtilen işlevi uygular ve sonuçları bir veri çerçevesi olarak döndürür.
Örnek bir veri çerçevesi data <- tibble( name = c(“Alice”, “Bob”, “Charlie”), age = c(25, 30, 35) )
Yaşları 5 artır new_data <- map_df(data$age, ~. + 5) print(new_data) other fonksiyonlar: map_lgl(), map_int(), map_dbl(), map_chr() gibi diğer purrr fonksiyonları, belirli türlerdeki (mantıksal, tamsayı, çift hassas kayan noktalı sayı, karakter) sonuçları döndürmek için kullanılır.
Örnek bir vektör numbers <- c(1, 2, 3, 4, 5)
Tamsayıları karakterlere dönüştür numbers_as_chars <- map_chr(numbers, as.character) print(numbers_as_chars) Özet: purrr, R’da fonksiyonel programlama yaklaşımını benimseyerek veri manipülasyonu ve analizi için esnek ve güçlü bir araç seti sunar. purrr fonksiyonları, tekrarlayan işlemleri vektörler, listeler ve veri çerçeveleri üzerinde etkili bir şekilde gerçekleştirmenizi sağlar. Bu nedenle, veri bilimi ve veri analizi projelerinde tidyverse ile birlikte sıkça kullanılan bir pakettir.
https://data.worldbank.org/indicator/AG.LND.FRST.ZS?view=chart&locations=AU-BR
## '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"
##
## 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
## # 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
| x |
|---|
| Afghanistan |
| Africa Eastern and Southern |
| Africa Western and Central |
| Albania |
| Algeria |
| American Samoa |
| Andorra |
| Angola |
| Antigua and Barbuda |
| Arab World |
| Argentina |
| Armenia |
| Aruba |
| Australia |
| Austria |
| Azerbaijan |
| Bahamas, The |
| Bahrain |
| Bangladesh |
| Barbados |
| Belarus |
| Belgium |
| Belize |
| Benin |
| Bermuda |
| Bhutan |
| Bolivia |
| Bosnia and Herzegovina |
| Botswana |
| Brazil |
| British Virgin Islands |
| Brunei Darussalam |
| Bulgaria |
| Burkina Faso |
| Burundi |
| Cabo Verde |
| Cambodia |
| Cameroon |
| Canada |
| Caribbean small states |
| Cayman Islands |
| Central African Republic |
| Central Europe and the Baltics |
| Chad |
| Channel Islands |
| Chile |
| China |
| Colombia |
| Comoros |
| Congo, Dem. Rep. |
| Congo, Rep. |
| Costa Rica |
| Cote d’Ivoire |
| Croatia |
| Cuba |
| Curacao |
| Cyprus |
| Czechia |
| Denmark |
| Djibouti |
| Dominica |
| Dominican Republic |
| Early-demographic dividend |
| East Asia & Pacific |
| East Asia & Pacific (excluding high income) |
| East Asia & Pacific (IDA & IBRD countries) |
| Ecuador |
| Egypt, Arab Rep. |
| El Salvador |
| Equatorial Guinea |
| Eritrea |
| Estonia |
| Eswatini |
| Ethiopia |
| Euro area |
| Europe & Central Asia |
| Europe & Central Asia (excluding high income) |
| Europe & Central Asia (IDA & IBRD countries) |
| European Union |
| Faroe Islands |
| Fiji |
| Finland |
| Fragile and conflict affected situations |
| France |
| French Polynesia |
| Gabon |
| Gambia, The |
| Georgia |
| Germany |
| Ghana |
| Gibraltar |
| Greece |
| Greenland |
| Grenada |
| Guam |
| Guatemala |
| Guinea |
| Guinea-Bissau |
| Guyana |
| Haiti |
| Heavily indebted poor countries (HIPC) |
| High income |
| Honduras |
| Hong Kong SAR, China |
| Hungary |
| IBRD only |
| Iceland |
| IDA & IBRD total |
| IDA blend |
| IDA only |
| IDA total |
| India |
| Indonesia |
| Iran, Islamic Rep. |
| Iraq |
| Ireland |
| Isle of Man |
| Israel |
| Italy |
| Jamaica |
| Japan |
| Jordan |
| Kazakhstan |
| Kenya |
| Kiribati |
| Korea, Dem. People’s Rep. |
| Korea, Rep. |
| Kosovo |
| Kuwait |
| Kyrgyz Republic |
| Lao PDR |
| Late-demographic dividend |
| Latin America & Caribbean |
| Latin America & Caribbean (excluding high income) |
| Latin America & the Caribbean (IDA & IBRD countries) |
| Latvia |
| Least developed countries: UN classification |
| Lebanon |
| Lesotho |
| Liberia |
| Libya |
| Liechtenstein |
| Lithuania |
| Low & middle income |
| Low income |
| Lower middle income |
| Luxembourg |
| Macao SAR, China |
| Madagascar |
| Malawi |
| Malaysia |
| Maldives |
| Mali |
| Malta |
| Marshall Islands |
| Mauritania |
| Mauritius |
| Mexico |
| Micronesia, Fed. Sts. |
| Middle East & North Africa |
| Middle East & North Africa (excluding high income) |
| Middle East & North Africa (IDA & IBRD countries) |
| Middle income |
| Moldova |
| Monaco |
| Mongolia |
| Montenegro |
| Morocco |
| Mozambique |
| Myanmar |
| Namibia |
| Nauru |
| Nepal |
| Netherlands |
| New Caledonia |
| New Zealand |
| Nicaragua |
| Niger |
| Nigeria |
| North America |
| North Macedonia |
| Northern Mariana Islands |
| Norway |
| Not classified |
| OECD members |
| Oman |
| Other small states |
| Pacific island small states |
| Pakistan |
| Palau |
| Panama |
| Papua New Guinea |
| Paraguay |
| Peru |
| Philippines |
| Poland |
| Portugal |
| Post-demographic dividend |
| Pre-demographic dividend |
| Puerto Rico |
| Qatar |
| Romania |
| Russian Federation |
| Rwanda |
| Samoa |
| San Marino |
| Sao Tome and Principe |
| Saudi Arabia |
| Senegal |
| Serbia |
| Seychelles |
| Sierra Leone |
| Singapore |
| Sint Maarten (Dutch part) |
| Slovak Republic |
| Slovenia |
| Small states |
| Solomon Islands |
| Somalia |
| South Africa |
| South Asia |
| South Asia (IDA & IBRD) |
| South Sudan |
| Spain |
| Sri Lanka |
| St. Kitts and Nevis |
| St. Lucia |
| St. Martin (French part) |
| St. Vincent and the Grenadines |
| Sub-Saharan Africa |
| Sub-Saharan Africa (excluding high income) |
| Sub-Saharan Africa (IDA & IBRD countries) |
| Sudan |
| Suriname |
| Sweden |
| Switzerland |
| Syrian Arab Republic |
| Tajikistan |
| Tanzania |
| Thailand |
| Timor-Leste |
| Togo |
| Tonga |
| Trinidad and Tobago |
| Tunisia |
| Turkiye |
| Turkmenistan |
| Turks and Caicos Islands |
| Tuvalu |
| Uganda |
| Ukraine |
| United Arab Emirates |
| United Kingdom |
| United States |
| Upper middle income |
| Uruguay |
| Uzbekistan |
| Vanuatu |
| Venezuela, RB |
| Viet Nam |
| Virgin Islands (U.S.) |
| West Bank and Gaza |
| World |
| Yemen, Rep. |
| Zambia |
| Zimbabwe |
## Joining with `by = join_by(country, iso2c, iso3c)`
## # 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
missing_data_count <- df %>%
group_by(country) %>%
summarize(missing_count = sum(is.na(SP.POP.TOTL)), .groups = 'drop')
# Identify countries with all missing data or more than 20 missing points
countries_with_all_missing <- missing_data_count %>%
filter(missing_count == 66) # Change 66 to the total number of observations per country
countries_with_more_than_20_missing <- missing_data_count %>%
filter(missing_count > 5) # Change 20 to your desired threshold
# View countries with all missing data or more than 20 missing points
print(countries_with_all_missing)## # A tibble: 0 × 2
## # ℹ 2 variables: country <chr>, missing_count <int>
## # A tibble: 1 × 2
## country missing_count
## <chr> <int>
## 1 West Bank and Gaza 31
## # 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 214 NA NA NA
## 2 iso2c chr 0 0 214 NA NA NA
## 3 iso3c chr 0 0 214 NA NA NA
## 4 year int 0 0 64 1960 1992. 2023
## 5 AG.LND.FRST.ZS dbl 7129 52.1 5126 0 32.7 98.6
## 6 SP.POP.TOTL dbl 214 1.6 13434 2646 24811673. 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
missing_data_count <- dff %>%
group_by(country) %>%
summarize(missing_count = sum(is.na(AG.LND.FRST.ZS)), .groups = 'drop')## # 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 214 NA NA NA
## 2 iso2c chr 0 0 214 NA NA NA
## 3 iso3c chr 0 0 214 NA NA NA
## 4 year int 0 0 64 1960 1992. 2023
## 5 AG.LND.FRST.ZS dbl 7129 52.1 5126 0 32.7 98.6
## 6 SP.POP.TOTL dbl 214 1.6 13434 2646 24811673. 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
## # 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 214 NA NA NA
## 2 iso2c chr 0 0 214 NA NA NA
## 3 iso3c chr 0 0 214 NA NA NA
## 4 year int 0 0 64 1960 1992. 2023
## 5 AG.LND.FRST.ZS dbl 7129 52.1 5126 0 32.7 98.6
## 6 SP.POP.TOTL dbl 214 1.6 13434 2646 24811673. 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
# Calculate ratios for each country
df_ratios <- dff %>%
group_by(year) %>%
summarise(
world_gdp = sum(AG.LND.FRST.ZS),
world_population = sum(SP.POP.TOTL),
world_gdp_perp = world_gdp/world_population
) # Plotting total production per person after 2000
library(ggplot2)
ggplot(df_ratios, aes(x = year, y = world_gdp_perp)) +
geom_line() +
labs(
title = "Total Production per Person after 2000",
x = "Year",
y = "Total Production per Person"
)dff <- dff %>%
mutate(
country_ratio = AG.LND.FRST.ZS / world_gdp * 100,
population_ratio = SP.POP.TOTL / world_population * 100,
verim = country_ratio / population_ratio
)dff <- dff %>%
arrange(country, year) %>%
group_by(country) %>%
mutate(cumulative_change = (verim / first(verim) - 1) * 100)ggplot(df_TR, aes(x = year, y = verim)) +
geom_line() +
labs(
title = "verim in brazile after 2000",
x = "Year",
y = "Verim"
)df %>% filter(country %in% c("brazil", "australia")) %>%
ggplot(aes(x = year,
y = SP.POP.TOTL,
col = country)) +
geom_line()## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats 1.0.0 ✔ readr 2.1.5
## ✔ lubridate 1.9.3 ✔ stringr 1.5.1
## ✔ purrr 1.0.2 ✔ tibble 3.2.1
## ── 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