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   4.0.0     ✔ tibble    3.3.0
## ✔ lubridate 1.9.4     ✔ tidyr     1.3.1
## ✔ purrr     1.1.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
#melakukan input data World-data-2023.csv yang diberi nama country_data
country_data <- read_csv('C:/Users/Rosita/Documents/TUGAS SAINS DATA/world-data-2023.csv',show_col_types = FALSE)
head(country_data)
## # A tibble: 6 × 35
##   Country             `Density\n(P/Km2)` Abbreviation `Agricultural Land( %)`
##   <chr>                            <dbl> <chr>        <chr>                  
## 1 Afghanistan                         60 AF           58.10%                 
## 2 Albania                            105 AL           43.10%                 
## 3 Algeria                             18 DZ           17.40%                 
## 4 Andorra                            164 AD           40.00%                 
## 5 Angola                              26 AO           47.50%                 
## 6 Antigua and Barbuda                223 AG           20.50%                 
## # ℹ 31 more variables: `Land Area(Km2)` <dbl>, `Armed Forces size` <dbl>,
## #   `Birth Rate` <dbl>, `Calling Code` <dbl>, `Capital/Major City` <chr>,
## #   `Co2-Emissions` <dbl>, CPI <dbl>, `CPI Change (%)` <chr>,
## #   `Currency-Code` <chr>, `Fertility Rate` <dbl>, `Forested Area (%)` <chr>,
## #   `Gasoline Price` <chr>, GDP <chr>,
## #   `Gross primary education enrollment (%)` <chr>,
## #   `Gross tertiary education enrollment (%)` <chr>, …

LATIHAN MANDIRI

Nomor 1

Menampilkan 10 negara yang memiliki Armed Forces size terbesar didunia dengan menggunakan fungsi slice_max. Hasil tampilannya terdiri dari dua kolom saja yaitu Country dan Fertility Rate

#Memilih kolom Country dan `Armed Forces size` dari dataset country_data, kemudian menampilkan 10 negara yang memiliki `Armed Forces size` terbesar didunia dengan menggunakan fungsi slice_max dan n=10 artinya 10 nilai terbesar
top10country <- country_data %>% select(Country, `Armed Forces size`) %>%  
  slice_max(`Armed Forces size`, n=10)
top10country
## # A tibble: 10 × 2
##    Country       `Armed Forces size`
##    <chr>                       <dbl>
##  1 India                     3031000
##  2 China                     2695000
##  3 North Korea               1469000
##  4 Russia                    1454000
##  5 United States             1359000
##  6 Pakistan                   936000
##  7 Egypt                      836000
##  8 Brazil                     730000
##  9 Indonesia                  676000
## 10 South Korea                634000

Nomor 2

Menampilkan negara-negara yang Fertility Rate-nya lebih kecil dibandingkan Indonesia. kemudian mengurutkan Fertility Rate dari besar ke kecil. Hasil tampilannya terdiri dari dua kolom yaitu Country dan Fertility Rate

#Memilih kolom Country dan `Fertility Rate` dari dataset country_data, kemudian melakukan filter terhadap negara yang mempunyai nilai `Fertility Rate` yang lebih kecil dari Indonesia kemudian `Fertility Rate` diurutkan dari terbesar ke terkecil
country_data %>% select(Country,`Fertility Rate`) %>% 
  filter(`Fertility Rate`<`Fertility Rate`[Country=="Indonesia"]) %>% 
  arrange(desc(`Fertility Rate`))
## # A tibble: 98 × 2
##    Country    `Fertility Rate`
##    <chr>                 <dbl>
##  1 Cape Verde             2.27
##  2 Venezuela              2.27
##  3 Argentina              2.26
##  4 Peru                   2.25
##  5 Libya                  2.24
##  6 India                  2.22
##  7 Palau                  2.21
##  8 Sri Lanka              2.2 
##  9 Tunisia                2.2 
## 10 Myanmar                2.15
## # ℹ 88 more rows

Nomor 3

Menghitung Statistika 5 serangkai dari kolom Armed Forces size dan Fertility Rate. dan Menampilkan hasilnya dengan format data long

#Membuat 'summarydata' yang menyimpan hasil statistik 5 serangkai(Minimum,Q1,median,Q3,Maksimum) dari `Armed Forces size` dan `Fertility Rate` yanng dihitung dengan fungsi summarize( ), hasilnya kemudian ditampilkan dalam bentuk Long dengan fungsi pivot_longer
summarydata<-country_data %>%
  summarize( across( c(`Armed Forces size`,`Fertility Rate`),
            list(
            Minimum = ~min(.x,na.rm = TRUE),
            Q1 = ~quantile(.x,probs = 0.25,na.rm = TRUE),
            Median = ~median(.x,na.rm = TRUE),
            Q3 = ~quantile(.x, probs = 0.75,na.rm = TRUE),
            Maksimum = ~max(.x, na.rm = TRUE)
            ),
            .names = "{.col}_{.fn}"
  ) )

summarydata %>% pivot_longer(
  everything(),
  names_to = c("Variabel","Statistik 5 Serangkai"),
  names_sep = "_"
)
## # A tibble: 10 × 3
##    Variabel          `Statistik 5 Serangkai`      value
##    <chr>             <chr>                        <dbl>
##  1 Armed Forces size Minimum                       0   
##  2 Armed Forces size Q1                        11000   
##  3 Armed Forces size Median                    31000   
##  4 Armed Forces size Q3                       142000   
##  5 Armed Forces size Maksimum                3031000   
##  6 Fertility Rate    Minimum                       0.98
##  7 Fertility Rate    Q1                            1.70
##  8 Fertility Rate    Median                        2.24
##  9 Fertility Rate    Q3                            3.60
## 10 Fertility Rate    Maksimum                      6.91
summarydata
## # A tibble: 1 × 10
##   `Armed Forces size_Minimum` `Armed Forces size_Q1` `Armed Forces size_Median`
##                         <dbl>                  <dbl>                      <dbl>
## 1                           0                  11000                      31000
## # ℹ 7 more variables: `Armed Forces size_Q3` <dbl>,
## #   `Armed Forces size_Maksimum` <dbl>, `Fertility Rate_Minimum` <dbl>,
## #   `Fertility Rate_Q1` <dbl>, `Fertility Rate_Median` <dbl>,
## #   `Fertility Rate_Q3` <dbl>, `Fertility Rate_Maksimum` <dbl>

Nomor 4

Menunjukkan 5 Nilai mata uang (Currency-Code) yang paling banyak digunakan di dunia

#Menghing banyaknya `Currency-Code`dengan count( ) dari variabel Currency-Code tanpa NA. diurutkan dari terbesar sampai yang terkecil dan menampilkan 5 terbesar dengan slice_head
country_data %>% drop_na(`Currency-Code`) %>% count(`Currency-Code`, sort = TRUE) %>% slice_head(n=5)
## # A tibble: 5 × 2
##   `Currency-Code`     n
##   <chr>           <int>
## 1 EUR                23
## 2 XOF                 8
## 3 USD                 6
## 4 XCD                 6
## 5 XAF                 5

Nomor 5

Diantara negara-negara yang tergabung dalam ASEAN, ditampilkan 3 negara yang miliki Infant mortality tertinggi dan 3 negara yang memiliki Infant mortality terendah.

Tiga negara yang miliki Infant mortality tertinggi, yaitu:

#membuat vektor asean yang berisi negara-negara yang merupakan anggota ASEAN, kemudian memilih kolom Country dan `Infant mortality` dari dataset country_data, dilanjutkan dengan memfilter Country berdasarkan vektor asean kemudian menampilkan 3 negara yang miliki Infant mortality tertinggi dan 3 negara yang memiliki Infant mortality terendah dengan memanfaatkan slice_min dan slice_max

asean <- c("Brunei", "Cambodia","Laos","Indonesia","Malysia","Myanmar","Philippines","Singapore","Thailand","Vietnam")

#Tiga negara yang miliki Infant mortality tertinggi, yaitu:
top3<-country_data %>% select(Country,`Infant mortality`) %>% filter(Country%in%asean) %>% slice_max(`Infant mortality`,n=3)

top3
## # A tibble: 3 × 2
##   Country  `Infant mortality`
##   <chr>                 <dbl>
## 1 Laos                   37.6
## 2 Myanmar                36.8
## 3 Cambodia               24
#Tiga negara yang miliki Infant mortality terendah, yaitu:
last3 <- country_data %>% select(Country,`Infant mortality`) %>% filter(Country%in%asean) %>% slice_min(`Infant mortality`,n=3)
last3
## # A tibble: 3 × 2
##   Country   `Infant mortality`
##   <chr>                  <dbl>
## 1 Singapore                2.3
## 2 Thailand                 7.8
## 3 Brunei                   9.8

Tugas Kelompok

Nomor 1

  1. Dalam R missing data biasanya ditandai dengan NA, hitung berapa banyak missing value yang ada pada dataset!
# menghitung total missing value yang ada pada dataset country_data menggunakan menu sum(is.na(namadataset))
sum(is.na(country_data))
## [1] 337

Nomor 2

  1. Hapus semua missing data dan tunjukkan bahwa semua missing data sudah terhapus!
# menggunakan fungsi drop_na untuk menghapus semua baris yang mengandung NA, kemudian menyimpan hasil drop NA ke dalam dataset baru agar tidak menghilangkan dataset awal
country_data_noNA <- drop_na(country_data)

# memeriksa dataset setelah menghapus NA
sum(is.na(country_data_noNA))
## [1] 0

Nomor 3

  1. Dalam dataset tersebut terdapat beberapa kolom yang berbentuk persentase dan nilai mata uang dollar US yang bertipe data chr. Gunakan fungsi mutate dan across untuk mengubah tipe data kolom tersebut menjadi dbl. Tunjukkan hasilnya dengan fungsi glimpse!
# menampilkan nama kolom, tipe data dan sebagian isi dari masing-masing variabel pada dataset country_data_noNA dengan menggunakan fungsi glimpse
glimpse(country_data_noNA)
## Rows: 110
## Columns: 35
## $ Country                                     <chr> "Afghanistan", "Albania", …
## $ `Density\n(P/Km2)`                          <dbl> 60, 105, 18, 26, 17, 104, …
## $ Abbreviation                                <chr> "AF", "AL", "DZ", "AO", "A…
## $ `Agricultural Land( %)`                     <chr> "58.10%", "43.10%", "17.40…
## $ `Land Area(Km2)`                            <dbl> 652230, 28748, 2381741, 12…
## $ `Armed Forces size`                         <dbl> 323000, 9000, 317000, 1170…
## $ `Birth Rate`                                <dbl> 32.49, 11.78, 24.28, 40.73…
## $ `Calling Code`                              <dbl> 93, 355, 213, 244, 54, 374…
## $ `Capital/Major City`                        <chr> "Kabul", "Tirana", "Algier…
## $ `Co2-Emissions`                             <dbl> 8672, 4536, 150006, 34693,…
## $ CPI                                         <dbl> 149.90, 119.05, 151.36, 26…
## $ `CPI Change (%)`                            <chr> "2.30%", "1.40%", "2.00%",…
## $ `Currency-Code`                             <chr> "AFN", "ALL", "DZD", "AOA"…
## $ `Fertility Rate`                            <dbl> 4.47, 1.62, 3.02, 5.52, 2.…
## $ `Forested Area (%)`                         <chr> "2.10%", "28.10%", "0.80%"…
## $ `Gasoline Price`                            <chr> "$0.70", "$1.36", "$0.28",…
## $ GDP                                         <chr> "$19,101,353,833", "$15,27…
## $ `Gross primary education enrollment (%)`    <chr> "104.00%", "107.00%", "109…
## $ `Gross tertiary education enrollment (%)`   <chr> "9.70%", "55.00%", "51.40%…
## $ `Infant mortality`                          <dbl> 47.9, 7.8, 20.1, 51.6, 8.8…
## $ `Largest city`                              <chr> "Kabul", "Tirana", "Algier…
## $ `Life expectancy`                           <dbl> 64.5, 78.5, 76.7, 60.8, 76…
## $ `Maternal mortality ratio`                  <dbl> 638, 15, 112, 241, 39, 26,…
## $ `Minimum wage`                              <chr> "$0.43", "$1.12", "$0.95",…
## $ `Official language`                         <chr> "Pashto", "Albanian", "Ara…
## $ `Out of pocket health expenditure`          <chr> "78.40%", "56.90%", "28.10…
## $ `Physicians per thousand`                   <dbl> 0.28, 1.20, 1.72, 0.21, 3.…
## $ Population                                  <dbl> 38041754, 2854191, 4305305…
## $ `Population: Labor force participation (%)` <chr> "48.90%", "55.70%", "41.20…
## $ `Tax revenue (%)`                           <chr> "9.30%", "18.60%", "37.20%…
## $ `Total tax rate`                            <chr> "71.40%", "36.60%", "66.10…
## $ `Unemployment rate`                         <chr> "11.12%", "12.33%", "11.70…
## $ Urbanpopulation                             <dbl> 9797273, 1747593, 31510100…
## $ Latitude                                    <dbl> 33.939110, 41.153332, 28.0…
## $ Longitude                                   <dbl> 67.709953, 20.168331, 1.65…
# membuat dataset baru dari dataset sebelumnya, kemudian membaca semua kolom bertipe karakter, jika terdapat kolom yang bertipe karakter serta mengandung $ dan % maka $ dan % akan dihapus, lalu mengubah tipe data tersebut menjadi numerik atau dbl, selainnya (jika tidak mengandung $ dan %) maka tetap bertipe karakter. Lalu tampilkan kembali nama kolom, tipe data dan sebagian isi dari masing-masing kolom dengan fungsi glimpse
country_data_clean <- country_data_noNA %>% 
  mutate(
    across(
      .cols = where(is.character),
      .fns = ~ if(all(grepl("[$,%]", .x))) {as.numeric(gsub("[$,%]", "", .x))} else {.x}
    )
  )
glimpse(country_data_clean)
## Rows: 110
## Columns: 35
## $ Country                                     <chr> "Afghanistan", "Albania", …
## $ `Density\n(P/Km2)`                          <dbl> 60, 105, 18, 26, 17, 104, …
## $ Abbreviation                                <chr> "AF", "AL", "DZ", "AO", "A…
## $ `Agricultural Land( %)`                     <dbl> 58.1, 43.1, 17.4, 47.5, 54…
## $ `Land Area(Km2)`                            <dbl> 652230, 28748, 2381741, 12…
## $ `Armed Forces size`                         <dbl> 323000, 9000, 317000, 1170…
## $ `Birth Rate`                                <dbl> 32.49, 11.78, 24.28, 40.73…
## $ `Calling Code`                              <dbl> 93, 355, 213, 244, 54, 374…
## $ `Capital/Major City`                        <chr> "Kabul", "Tirana", "Algier…
## $ `Co2-Emissions`                             <dbl> 8672, 4536, 150006, 34693,…
## $ CPI                                         <dbl> 149.90, 119.05, 151.36, 26…
## $ `CPI Change (%)`                            <dbl> 2.3, 1.4, 2.0, 17.1, 53.5,…
## $ `Currency-Code`                             <chr> "AFN", "ALL", "DZD", "AOA"…
## $ `Fertility Rate`                            <dbl> 4.47, 1.62, 3.02, 5.52, 2.…
## $ `Forested Area (%)`                         <dbl> 2.1, 28.1, 0.8, 46.3, 9.8,…
## $ `Gasoline Price`                            <dbl> 0.70, 1.36, 0.28, 0.97, 1.…
## $ GDP                                         <dbl> 1.910135e+10, 1.527808e+10…
## $ `Gross primary education enrollment (%)`    <dbl> 104.0, 107.0, 109.9, 113.5…
## $ `Gross tertiary education enrollment (%)`   <dbl> 9.7, 55.0, 51.4, 9.3, 90.0…
## $ `Infant mortality`                          <dbl> 47.9, 7.8, 20.1, 51.6, 8.8…
## $ `Largest city`                              <chr> "Kabul", "Tirana", "Algier…
## $ `Life expectancy`                           <dbl> 64.5, 78.5, 76.7, 60.8, 76…
## $ `Maternal mortality ratio`                  <dbl> 638, 15, 112, 241, 39, 26,…
## $ `Minimum wage`                              <dbl> 0.43, 1.12, 0.95, 0.71, 3.…
## $ `Official language`                         <chr> "Pashto", "Albanian", "Ara…
## $ `Out of pocket health expenditure`          <dbl> 78.4, 56.9, 28.1, 33.4, 17…
## $ `Physicians per thousand`                   <dbl> 0.28, 1.20, 1.72, 0.21, 3.…
## $ Population                                  <dbl> 38041754, 2854191, 4305305…
## $ `Population: Labor force participation (%)` <dbl> 48.9, 55.7, 41.2, 77.5, 61…
## $ `Tax revenue (%)`                           <dbl> 9.3, 18.6, 37.2, 9.2, 10.1…
## $ `Total tax rate`                            <dbl> 71.4, 36.6, 66.1, 49.1, 10…
## $ `Unemployment rate`                         <dbl> 11.12, 12.33, 11.70, 6.89,…
## $ Urbanpopulation                             <dbl> 9797273, 1747593, 31510100…
## $ Latitude                                    <dbl> 33.939110, 41.153332, 28.0…
## $ Longitude                                   <dbl> 67.709953, 20.168331, 1.65…

Nomor 4

  1. Konversi nilai mata uang dalam bentuk dollar ke nilai mata uang Rupiah dengan tipe data dbl!
# menetapkan kurs sebagai nilai konversi dari dollar ke rupiah, asumsikan nilai konversi dollar ke rupiah sebesar 16400
kurs <- 16400

# membuat dataset baru dari dataset country_data_noNA (dataset yang sudah dibersikan missing value) kemudian membaca semua kolom bertipe karakter, jika terdapat kolom yang bertipe karakter dan mengandung $, maka ubah tipe data tersebut menjadi numerik atau dbl, selainnya (jika tidak mengandung $) maka tetap bertipe karakter. Selanjutnya kolom tersebut dikali dengan kurs rupiah (16400), menu select untuk memilih kolom yang ingin ditampilkan
country_data_rp <- country_data_noNA %>%
  mutate(
    across(
      .cols = where(is.character),
      .fns = ~ if(all(grepl("[$,%]", .x))) {as.numeric(gsub("[$,%]", "", .x)) * kurs} else {.x},
      .names = "{.col}_rp"
    )
  )
country_data_rp %>% select(Country, `Gasoline Price_rp`, GDP_rp, `Minimum wage_rp`)
## # A tibble: 110 × 4
##    Country     `Gasoline Price_rp`  GDP_rp `Minimum wage_rp`
##    <chr>                     <dbl>   <dbl>             <dbl>
##  1 Afghanistan               11480 3.13e14              7052
##  2 Albania                   22304 2.51e14             18368
##  3 Algeria                    4592 2.79e15             15580
##  4 Angola                    15908 1.55e15             11644
##  5 Argentina                 18040 7.37e15             54940
##  6 Armenia                   12628 2.24e14             10824
##  7 Australia                 15252 2.28e16            222876
##  8 Azerbaijan                 9184 6.43e14              7708
##  9 Bangladesh                18368 4.96e15              8364
## 10 Barbados                  29684 8.54e13             51332
## # ℹ 100 more rows

Nomor 5

  1. Buatlah kolom country_status yang berisi kategori “rich”,“developing”, “poor”. Kategori ini didapatkan dengan kriteria sebagai berikut: jika Unemployment rate kurang dari 1% maka negara tersebut merupakan negara “rich”, jika Unemployment rate lebih besar dari 0.999999% dan kurang dari 5% maka negara tersebut merupakan negara “developing”. Kemudian jika Unemployment rate lebih besar dari 4.999999% maka negara tersebut merupakan negara “poor”.
# menambahkan varibel baru yaitu country status dengan kondisi jika Unemployment rate kurang dari 1% maka country dikategorikan rich, jika Unemployment rate lebih dari sama dengan 1% dan kurang dari sama dengan 5% maka country dikategorikan developing, dan jika Unemployment rate lebih dari 5% maka country dikategorikan poor. Kemudian tambahkan menu select untuk menampilkan kolom yang ingin ditampilkan
country_data_clean <-
  country_data_clean %>% 
  mutate(
    country_status = case_when(`Unemployment rate` < 1 ~ "rich",
                             `Unemployment rate` >= 1 & `Unemployment rate` <= 5 ~ "developing",
                             `Unemployment rate` > 5 ~ "poor"
                             ),
   )
country_data_clean %>% select(Country, `Unemployment rate`, country_status)
## # A tibble: 110 × 3
##    Country     `Unemployment rate` country_status
##    <chr>                     <dbl> <chr>         
##  1 Afghanistan               11.1  poor          
##  2 Albania                   12.3  poor          
##  3 Algeria                   11.7  poor          
##  4 Angola                     6.89 poor          
##  5 Argentina                  9.79 poor          
##  6 Armenia                   17.0  poor          
##  7 Australia                  5.27 poor          
##  8 Azerbaijan                 5.51 poor          
##  9 Bangladesh                 4.19 developing    
## 10 Barbados                  10.3  poor          
## # ℹ 100 more rows

Nomor 6

  1. Hitunglah rata-rata dan nilai maximum GDP dan CPI berdasarkan country status! Kemudian hitung juga berapa banyak negara yang termasuk dalam kategori “rich”,“developing”, “poor”.
# mengkategorikan country status menggunakan fungsi factor, dengan urutan kategori poor < developing < rich. Kemudian menghitung mean dan max dari kolom GDP dan CPI. Selanjutnya mengelompokkan berdasarkan country status serta menambahkan kolom jumlah negara pada masing-masing country status, lalu menyimpan hasil output tersebut sebagai data frame baru agar dapat digunakan kembali jika diperlukan
country_data_clean$country_status <- factor(country_data_clean$country_status, levels = c("poor", "developing", "rich"), ordered = TRUE)
country_status_GDP_CPI <- country_data_clean %>%
  group_by(country_status) %>% 
  summarise(
    mean_GDP = mean(GDP),
    max_GDP  = max(GDP),
    mean_CPI = mean(CPI),
    max_CPI  = max(CPI),
    jumlah_negara = n()
  )
country_status_GDP_CPI
## # A tibble: 3 × 6
##   country_status      mean_GDP max_GDP mean_CPI max_CPI jumlah_negara
##   <ord>                  <dbl>   <dbl>    <dbl>   <dbl>         <int>
## 1 poor           647889907874. 2.14e13     177.   1344.            61
## 2 developing     820523892191. 1.99e13     145.    268.            46
## 3 rich           191583986805. 5.44e11     119.    136.             3

Nomor 7

  1. Tampilkan hasil nomor 6 dalam format long!
# mengubah hasil dari data frame pada soal nomor 6 menjadi bentuk long menggunakan fungsi pivot_longer
country_status_GDP_CPI %>% 
  pivot_longer(cols = -country_status,
               names_to = "variable",
               values_to = "value")
## # A tibble: 15 × 3
##    country_status variable        value
##    <ord>          <chr>           <dbl>
##  1 poor           mean_GDP      6.48e11
##  2 poor           max_GDP       2.14e13
##  3 poor           mean_CPI      1.77e 2
##  4 poor           max_CPI       1.34e 3
##  5 poor           jumlah_negara 6.1 e 1
##  6 developing     mean_GDP      8.21e11
##  7 developing     max_GDP       1.99e13
##  8 developing     mean_CPI      1.45e 2
##  9 developing     max_CPI       2.68e 2
## 10 developing     jumlah_negara 4.6 e 1
## 11 rich           mean_GDP      1.92e11
## 12 rich           max_GDP       5.44e11
## 13 rich           mean_CPI      1.19e 2
## 14 rich           max_CPI       1.36e 2
## 15 rich           jumlah_negara 3   e 0

SOAL TAMBAHAN

Tampilkan negara yang berstatus “rich” dan urutkan GDP dari terbesar ke yang terkecil.

#memilih kolom Country, country_status, dan GDP dari datasert country_data_clean kemudian melakukan filter pada country_status "rich" dan selanjutnya mengurutkan GDP dari terbesar sampai terkecil
country_data_clean %>% select(Country,country_status,GDP) %>% filter(country_status=="rich") %>% arrange(desc(GDP))
## # A tibble: 3 × 3
##   Country  country_status          GDP
##   <chr>    <ord>                 <dbl>
## 1 Thailand rich           543649976166
## 2 Laos     rich            18173839128
## 3 Niger    rich            12928145120