Datasets

Pada tugas praktikum ini, dataset yang digunakan adalah data fertility dari package Countr. Dataset ini merupakan hasil analisis Winkelmann (1995). data ini berasal dari penelitian terhadap 1.243 sampel wanita berusia 44 tahun atau lebih pada tahun 1985 pada gelombang kedua masa Panel Sosial Ekonomi German. Variabel respon pada penelitian ini adalah jumlah anak per wanita.

Berikut ini informasi terkait dataset fertility:

head(fertility1, n=5)
## # A tibble: 5 x 9
##   children german years_school voc_train university religion year_birth rural
##      <int> <fct>         <int> <fct>     <fct>      <fct>         <int> <fct>
## 1        2 no                8 no        no         Catholic         42 yes  
## 2        3 no                8 no        no         Catholic         55 yes  
## 3        2 no                8 no        no         Catholic         51 yes  
## 4        4 no                8 no        no         Catholic         54 no   
## 5        2 no                8 no        no         Catholic         46 yes  
## # ... with 1 more variable: age_marriage <int>
str(fertility1)
## tibble [1,243 x 9] (S3: tbl_df/tbl/data.frame)
##  $ children    : int [1:1243] 2 3 2 4 2 2 2 2 4 2 ...
##  $ german      : Factor w/ 2 levels "no","yes": 1 1 1 1 1 1 1 1 1 1 ...
##  $ years_school: int [1:1243] 8 8 8 8 8 8 8 8 8 8 ...
##  $ voc_train   : Factor w/ 2 levels "no","yes": 1 1 1 1 1 1 1 1 1 1 ...
##  $ university  : Factor w/ 2 levels "no","yes": 1 1 1 1 1 1 1 1 1 1 ...
##  $ religion    : Factor w/ 4 levels "Catholic","Muslim",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ year_birth  : int [1:1243] 42 55 51 54 46 41 50 43 50 49 ...
##  $ rural       : Factor w/ 2 levels "no","yes": 2 2 2 1 2 1 1 2 2 2 ...
##  $ age_marriage: int [1:1243] 20 21 24 26 22 18 21 21 18 21 ...

Fungsi Summarise

Penggunaan fungsi summarise() untuk menghitung rerata tahun kelahiran dan usia perempuan menikah.

fertility1 %>% summarise(rerata_tahun_kelahiran_=mean(year_birth), rerata_usia_menikah=mean(age_marriage))
## # A tibble: 1 x 2
##   rerata_tahun_kelahiran_ rerata_usia_menikah
##                     <dbl>               <dbl>
## 1                    52.0                23.1

Penggunaan fungsi summarise() untuk menghitung nilai tengah lama tahun bersekolah dan rata-rata usia saat menikah untuk setiap asal ibu (German - Non German)

fertility1 %>% group_by(german) %>% 
                    summarise(lama_sekolah=median(years_school),
                              rerata_usia_menikah=mean(age_marriage),.groups = 'drop')
## # A tibble: 2 x 3
##   german lama_sekolah rerata_usia_menikah
##   <fct>         <dbl>               <dbl>
## 1 no                8                22.2
## 2 yes               9                23.3

Fungsi Arrange

Penggunaan fungsi arrange() mengurutkan data perempuan dari besar terbesar - kecil berdasarkan jumlah anak dan usia menikah

fertility1 %>% arrange(desc(children), desc(age_marriage))
## # A tibble: 1,243 x 9
##    children german years_school voc_train university religion   year_birth rural
##       <int> <fct>         <int> <fct>     <fct>      <fct>           <int> <fct>
##  1       11 yes               9 no        no         Protestant         58 yes  
##  2       10 yes               9 no        no         Protestant         58 yes  
##  3       10 no                8 no        no         Catholic           54 no   
##  4       10 no                8 no        no         Other              40 no   
##  5        9 no                8 no        no         Muslim             52 no   
##  6        9 yes               9 no        no         Protestant         65 no   
##  7        9 no                8 no        no         Other              42 no   
##  8        8 no                8 no        no         Muslim             55 yes  
##  9        8 no                8 no        no         Other              49 yes  
## 10        8 yes               9 no        no         Protestant         52 no   
## # ... with 1,233 more rows, and 1 more variable: age_marriage <int>

Fungsi Filter

Penggunaan fungsi filter() untuk menampilkan data perempuan yang menikah pada usia termuda dalam dataset

paged_table(fertility1 %>% filter(age_marriage %in% min(fertility1$age_marriage)))

Penggunaan fungsi filter() untuk menampilkan data perempuan bergama Muslim yang menikah pada usia termuda dalam dataset

fertility1 %>% filter(religion == 'Catholic' & age_marriage %in%  min(fertility1$age_marriage))
## # A tibble: 4 x 9
##   children german years_school voc_train university religion year_birth rural
##      <int> <fct>         <int> <fct>     <fct>      <fct>         <int> <fct>
## 1        4 no                8 no        no         Catholic         42 yes  
## 2        2 no                8 no        no         Catholic         49 yes  
## 3        2 no                8 no        no         Catholic         44 yes  
## 4        2 yes               9 no        no         Catholic         43 yes  
## # ... with 1 more variable: age_marriage <int>

Fungsi Select

Penggunaan fungsi select() untuk menampilkan data perempuan pada variabel jumlah anak (children), daerah asal ibu (german), agama (religion) dan usia menikah (age_marriage) saja.

paged_table(fertility1 %>% select(children, german, voc_train, religion, age_marriage))

Fungsi Mutate

Penggunaan fungsi mutate() untuk menghitung tahun pernikahan (dua digit terakhir)

paged_table(fertility1 %>% mutate(tahun_pernikahan = year_birth + age_marriage))

Kombinasi Fungsi

Menampilkan nilai tengah dari jumlah anak dan tahun pernikahan perempuan German (ibunya berasal dari German) yang menikah pada usia di bawah 20 tahun berdasarkan agama yang dianut.

fertility1 %>% mutate(tahun_pernikahan = year_birth + age_marriage) %>% 
  select(children, german, religion, age_marriage, tahun_pernikahan) %>% 
  arrange(children, age_marriage, desc(tahun_pernikahan)) %>% 
  filter(german == 'yes'& age_marriage <= 20) %>% 
  group_by(religion) %>% summarise(median_anak = median(children), median_tahun_nikah = median(tahun_pernikahan))
## # A tibble: 3 x 3
##   religion   median_anak median_tahun_nikah
##   <fct>            <dbl>              <dbl>
## 1 Catholic             2                 64
## 2 Muslim               2                 68
## 3 Protestant           2                 68

Terima kasih