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 ...
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
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>
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>
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))
Penggunaan fungsi mutate() untuk menghitung tahun pernikahan (dua digit terakhir)
paged_table(fertility1 %>% mutate(tahun_pernikahan = year_birth + age_marriage))
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