col_types dengan collectors
Cara lain untuk menetapkan tipe kolom yang diimpor adalah menggunakan collector. Fungsi collector dapat diteruskan dalam list() ke argumen col_types pada fungsi read_ untuk memberi tahu cara menafsirkan nilai dalam suatu kolom.
Untuk daftar lengkap fungsi collector, Anda dapat melihat dokumentasi collector. Untuk latihan ini Anda akan membutuhkan dua fungsi collector:
col_integer(): kolom harus ditafsirkan sebagai integer.col_factor(levels, ordered = FALSE): kolom harus ditafsirkan sebagai faktor denganlevels.
Dalam latihan ini, Anda akan bekerja dengan hotdogs.txt (view), yaitu berkas bertanda batas tab tanpa nama kolom pada baris pertama.
Latihan ini adalah bagian dari kursus
Pengantar Mengimpor Data di R
Petunjuk latihan
hotdogstelah dibuat untuk Anda tanpa menetapkan tipe kolom. Periksa ringkasannya menggunakan fungsisummary().- Dua fungsi collector telah didefinisikan untuk Anda:
facdanint. Perhatikan keduanya, apakah Anda paham apa yang mereka kumpulkan? - Pada pemanggilan
read_tsv()kedua, edit argumencol_types: Teruskan sebuahlist()dengan elemenfac,int, danint, sehingga kolom pertama diimpor sebagai faktor, dan kolom kedua serta ketiga sebagai integer. - Buat
summary()darihotdogs_factor. Bandingkan dengan ringkasanhotdogs.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Import without col_types
hotdogs <- read_tsv("hotdogs.txt", col_names = c("type", "calories", "sodium"))
# Display the summary of hotdogs
___
# The collectors you will need to import the data
fac <- col_factor(levels = c("Beef", "Meat", "Poultry"))
int <- col_integer()
# Edit the col_types argument to import the data correctly: hotdogs_factor
hotdogs_factor <- read_tsv("hotdogs.txt",
col_names = c("type", "calories", "sodium"),
col_types = NULL)
# Display the summary of hotdogs_factor
___