Mendapatkan jumlah level
Dengan mutate() dan summarize() di dplyr, Anda dapat menggunakan fungsi across() untuk menentukan penerapan argumen keduanya, yaitu sebuah fungsi, ke semua kolom yang memenuhi argumen pertama.
Kita akan menggunakan ini bersama tidyr untuk mendapatkan jumlah level bagi setiap variabel faktor di multiple_choice_responses. pivot_longer() dari tidyr mengubah himpunan data dari format lebar menjadi panjang. Dua argumennya adalah nama kolom baru—satu menampung nama kolom lama dan satu lagi semua nilainya.
Latihan ini adalah bagian dari kursus
Data Kategorikal di Tidyverse
Petunjuk latihan
- Ubah semua kolom bertipe karakter menjadi kolom faktor dan simpan himpunan data baru sebagai
responses_as_factors. - Buat himpunan data baru,
number_of_levels, di mana Anda:- Gunakan
summarizedenganacrossuntuk menerapkan fungsinlevels()ke setiap kolom. - Ubah format himpunan data dari lebar menjadi panjang.
- Gunakan
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Change all the character columns to factors
responses_as_factors <- multiple_choice_responses %>%
mutate(___(is.character, as.factor))
number_of_levels <- responses_as_factors %>%
# Apply the function nlevels to each column
summarize(___(everything(), ___)) %>%
# Change the dataset from wide to long
___(everything(), names_to = "variable", values_to = "num_levels")