Walau banyak organisasi menyimpan data dalam basis data dan opsi penyimpanan seperti AWS, Azure, dan GCP, spreadsheet Microsoft Excel tetap banyak digunakan untuk menyimpan dataset yang lebih kecil.
Fungsionalitas ilmu data di Excel lebih terbatas dibandingkan R, sehingga akan berguna jika Anda dapat mengimpor data dari spreadsheet ke R.
Dalam tutorial ini, kita akan membahas cara membaca lembar kerja Excel (serta baris dan kolom tertentu) ke R menggunakan paket readxl.
Untuk memahaminya, Anda memerlukan pengetahuan dasar tentang R.
Dataset yang akan kita baca ke R berukuran kecil dengan hanya dua sheet untuk menunjukkan cara menentukan sheet yang akan dibaca. Anda dapat menemukannya di sini.
Sheet pertama adalah dataset pemasaran bank dengan 45.211 baris dan 17 kolom. Tangkapan layar di bawah berasal dari file excel “sample.xlsx” dan nama sheet “bank-full”.
Sheet kedua adalah dataset Iris dengan 150 baris dan 6 kolom yang berisi informasi tentang jenis bunga Iris, seperti panjang dan lebar sepal serta petalnya. Tangkapan layar di bawah berasal dari file excel yang sama, “sample.xlsx” dan nama sheet “iris”.
Gambaran Paket
Tutorial ini menggunakan paket readxl. Paket openxlsx adalah alternatif yang cukup baik dan juga mencakup kemampuan untuk menulis ke file XLSX, tetapi integrasinya dengan paket tidyverse seperti dplyr dan tidyr kurang kuat.
Untuk membaca file Excel dengan paket readxl, kita perlu memasang paketnya terlebih dahulu lalu mengimpornya menggunakan fungsi “library”.
Perlu dicatat bahwa paket openxlsx adalah alternatif lain yang baik untuk menulis ke file XLSX.
Membaca Workbook Pertama
Mari kita baca semua data dari lembar kerja pertama, “bank-full”, dengan read_xlsx() dan hanya argumen path.
bank_df <- read_xlsx(path ="sample.xlsx")Didukung oleh
Data hasilnya berupa tibble.
Anda juga dapat menggunakan read_excel() dengan cara yang sama seperti read_xlsx(), dan semua argumen yang akan Anda lihat di bagian-bagian berikut bekerja serupa dengan fungsi ini. read_excel() akan mencoba menebak apakah Anda memiliki spreadsheet XLSX, atau tipe spreadsheet XLS yang lebih lama.
bank_df <- read_excel(path ="sample.xlsx")Didukung oleh
Membaca Workbook Lain
Sekarang mari kita baca semua data dari workbook kedua, yaitu “iris” dengan fungsi read_xlsx() dan argumen sheet.
iris <- read_xlsx("sample.xlsx", sheet ="iris")Didukung oleh
Anda juga dapat menentukan nomor sheet pada argumen sheet alih-alih nama sheet.
iris2 <- read_xlsx("sample.xlsx", sheet =1)Didukung oleh
Membaca Baris Tertentu
Mari membaca baris-baris tertentu dari sebuah workbook dengan mengatur argumen skip dan n_max. Untuk melewati beberapa baris pertama, Anda dapat menggunakan argumen skip dengan nilai sama dengan jumlah baris yang ingin dilewati.
bank_df_s2 <- read_excel("sample.xlsx", sheet ="bank-full", skip =2)Didukung oleh
Perlu diperhatikan bahwa kode di atas juga melewati header. Anda akan mempelajari cara menentukan header secara eksplisit pada fungsi read_xlsx() di bagian-bagian selanjutnya.
Demikian pula, untuk membaca n baris pertama, tentukan argumen n_max pada fungsi read_xlsx(). Kode di bawah membaca 1.000 baris pertama dari sheet “bank-full”.
bank_df_n1k <- read_excel("sample.xlsx", sheet ="bank-full", n_max =1000)Didukung oleh
Anda juga dapat menggabungkan kedua argumen untuk melewati beberapa baris dan membaca sejumlah baris tertentu dari sisa dataset.
Membaca Sel Tertentu
Sementara argumen “skip” dan “n_max” memungkinkan Anda membaca sebagian baris data, Anda dapat membaca sel-sel tertentu dari sebuah workbook dengan mengatur argumen range.
Ada dua notasi untuk menentukan subset dataset:
Notasi A1 (E4:G8) - A mewakili kolom, dan 1 mewakili nomor baris.
Notasi R1C1 (R4C5:R8C7) - Nomor baris dan nomor kolom ditentukan secara eksplisit
Intinya adalah menentukan koordinat persegi panjang yang ingin Anda potong dari dataset.
Notasi 1:
bank_df_range1 <- read_excel("sample.xlsx", sheet ="bank-full", range ="A3:E10")Didukung oleh
Notasi 2:
bank_df_range2 <- read_excel("sample.xlsx", sheet ="bank-full",
range ="R3C1:R10C5")Didukung oleh
Range juga memungkinkan Anda menyertakan nama sheet dalam argumen (contoh: wbook!E4:G8).
bank_df_range3 <- read_excel("sample.xlsx", range ="bank-full!R3C1:R10C5")Didukung oleh
Membaca Data Tanpa Baris Header
Mari membaca data yang tidak memiliki baris header dengan mengatur argumen col_names ke sebuah vektor karakter.
PS: Kita menggunakan argumen skip terlebih dahulu untuk menghapus baris header.
Pada bagian terakhir, header yang kita tentukan dipisahkan spasi. Anda dapat mengubah nama header menjadi variabel R yang sintaktis dengan argumen .name_repair = "universal".
Secara bawaan, saat Anda membaca file excel, R akan menebak tipe data setiap variabel. Mari amati tipe kolom dari dataset iris yang dibaca menggunakan argumen default.
Id SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm Species
"numeric" "numeric" "numeric" "numeric" "numeric" "character" Didukung oleh
Melewati Kolom
Sering kali Anda mendengar orang berkata, semakin banyak data semakin baik. Namun dalam banyak kasus, Anda mendapati sebagian variabel/kolom tidak membawa sinyal apa pun, yang bisa disebabkan oleh salah satu alasan di bawah ini.
kardinalitas tinggi: hampir setiap nilai berbeda
kardinalitas nol: setiap nilai sama
tidak terkait dengan use case bisnis
terlalu banyak nilai hilang
terlalu banyak nilai sampah
Anda dapat melewati pembacaan beberapa kolom dengan mengatur col_types ke "skip" seperti diperlihatkan di bawah.
Di dunia di mana data dihasilkan dengan kecepatan yang sangat besar dan dalam berbagai bentuk, bahasa pemrograman Anda harus mendukung pembacaan tipe data tersebut. R adalah salah satu bahasa yang kuat untuk mendukung upaya ini. Daftarkan diri Anda di kursus “Introduction to Importing Data in R” untuk mempelajari bagaimana R menyediakan paket untuk mengimpor berbagai dataset. Kursus ini menawarkan tutorial dan kuis untuk memperkuat pemahaman Anda tentang pengimporan data di R.
Pertanyaan yang Sering Diajukan
Dapatkah R mengimpor data CSV dan Excel untuk proyek?⌄
Ya, R dapat mengimpor data CSV dan Excel untuk proyek, dan R menyediakan paket serta fungsi andal untuk menangani kedua format tersebut. Baca panduan kami tentang CSV vs. Excel untuk perbandingan terperinci dan panduan tentang membuat pilihan yang tepat untuk proyek data Anda.
Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Perluas pengetahuan Anda tentang Google Sheets dengan memahami lebih dalam tentang jenis data, termasuk data numerik, data logis, dan data yang hilang.
Walau banyak organisasi menyimpan data dalam basis data dan opsi penyimpanan seperti AWS, Azure, dan GCP, spreadsheet Microsoft Excel tetap banyak digunakan untuk menyimpan dataset yang lebih kecil.
Fungsionalitas ilmu data di Excel lebih terbatas dibandingkan R, sehingga akan berguna jika Anda dapat mengimpor data dari spreadsheet ke R.
Dalam tutorial ini, kita akan membahas cara membaca lembar kerja Excel (serta baris dan kolom tertentu) ke R menggunakan paket readxl.
Untuk memahaminya, Anda memerlukan pengetahuan dasar tentang R.
Untuk panduan yang lebih umum tentang mengimpor berbagai tipe file ke R, baca Cara Mengimpor Data ke R: Sebuah Tutorial.
Berkas Excel
Dataset yang akan kita baca ke R berukuran kecil dengan hanya dua sheet untuk menunjukkan cara menentukan sheet yang akan dibaca. Anda dapat menemukannya di sini.
Sheet pertama adalah dataset pemasaran bank dengan 45.211 baris dan 17 kolom. Tangkapan layar di bawah berasal dari file excel “sample.xlsx” dan nama sheet “bank-full”.
Sheet kedua adalah dataset Iris dengan 150 baris dan 6 kolom yang berisi informasi tentang jenis bunga Iris, seperti panjang dan lebar sepal serta petalnya. Tangkapan layar di bawah berasal dari file excel yang sama, “sample.xlsx” dan nama sheet “iris”.
Gambaran Paket
Tutorial ini menggunakan paket readxl. Paket openxlsx adalah alternatif yang cukup baik dan juga mencakup kemampuan untuk menulis ke file XLSX, tetapi integrasinya dengan paket tidyverse seperti dplyr dan tidyr kurang kuat.
Untuk membaca file Excel dengan paket readxl, kita perlu memasang paketnya terlebih dahulu lalu mengimpornya menggunakan fungsi “library”.
Anda akan melihat keluaran seperti di bawah ini di konsol, menandakan pemasangan berhasil.
Untuk menggunakan metode “readxl”, jalankan perintah di bawah ini di konsol R.
Perlu dicatat bahwa paket openxlsx adalah alternatif lain yang baik untuk menulis ke file XLSX.
Membaca Workbook Pertama
Mari kita baca semua data dari lembar kerja pertama, “bank-full”, dengan read_xlsx() dan hanya argumen path.
Data hasilnya berupa tibble.
Anda juga dapat menggunakan read_excel() dengan cara yang sama seperti read_xlsx(), dan semua argumen yang akan Anda lihat di bagian-bagian berikut bekerja serupa dengan fungsi ini. read_excel() akan mencoba menebak apakah Anda memiliki spreadsheet XLSX, atau tipe spreadsheet XLS yang lebih lama.
Membaca Workbook Lain
Sekarang mari kita baca semua data dari workbook kedua, yaitu “iris” dengan fungsi read_xlsx() dan argumen sheet.
Anda juga dapat menentukan nomor sheet pada argumen sheet alih-alih nama sheet.
Membaca Baris Tertentu
Mari membaca baris-baris tertentu dari sebuah workbook dengan mengatur argumen skip dan n_max. Untuk melewati beberapa baris pertama, Anda dapat menggunakan argumen skip dengan nilai sama dengan jumlah baris yang ingin dilewati.
Perlu diperhatikan bahwa kode di atas juga melewati header. Anda akan mempelajari cara menentukan header secara eksplisit pada fungsi read_xlsx() di bagian-bagian selanjutnya.
Demikian pula, untuk membaca n baris pertama, tentukan argumen n_max pada fungsi read_xlsx(). Kode di bawah membaca 1.000 baris pertama dari sheet “bank-full”.
Anda juga dapat menggabungkan kedua argumen untuk melewati beberapa baris dan membaca sejumlah baris tertentu dari sisa dataset.
Membaca Sel Tertentu
Sementara argumen “skip” dan “n_max” memungkinkan Anda membaca sebagian baris data, Anda dapat membaca sel-sel tertentu dari sebuah workbook dengan mengatur argumen range.
Ada dua notasi untuk menentukan subset dataset:
Intinya adalah menentukan koordinat persegi panjang yang ingin Anda potong dari dataset.
Notasi 1:
Notasi 2:
Range juga memungkinkan Anda menyertakan nama sheet dalam argumen (contoh: wbook!E4:G8).
Membaca Data Tanpa Baris Header
Mari membaca data yang tidak memiliki baris header dengan mengatur argumen col_names ke sebuah vektor karakter.
PS: Kita menggunakan argumen skip terlebih dahulu untuk menghapus baris header.
Memperbaiki Nama Header
Pada bagian terakhir, header yang kita tentukan dipisahkan spasi. Anda dapat mengubah nama header menjadi variabel R yang sintaktis dengan argumen .name_repair = "universal".
Menentukan Tipe Kolom
Secara bawaan, saat Anda membaca file excel, R akan menebak tipe data setiap variabel. Mari amati tipe kolom dari dataset iris yang dibaca menggunakan argumen default.
Untuk menimpa tebakan tipe kolom, Anda dapat menggunakan argumen col_types.
Anda juga dapat membiarkan R menebak tipe kolom untuk variabel tertentu dengan menentukan nilai col_types sebagai “guess” untuk kolom tersebut.
Melewati Kolom
Sering kali Anda mendengar orang berkata, semakin banyak data semakin baik. Namun dalam banyak kasus, Anda mendapati sebagian variabel/kolom tidak membawa sinyal apa pun, yang bisa disebabkan oleh salah satu alasan di bawah ini.
Anda dapat melewati pembacaan beberapa kolom dengan mengatur col_types ke "skip" seperti diperlihatkan di bawah.
Di dunia di mana data dihasilkan dengan kecepatan yang sangat besar dan dalam berbagai bentuk, bahasa pemrograman Anda harus mendukung pembacaan tipe data tersebut. R adalah salah satu bahasa yang kuat untuk mendukung upaya ini. Daftarkan diri Anda di kursus “Introduction to Importing Data in R” untuk mempelajari bagaimana R menyediakan paket untuk mengimpor berbagai dataset. Kursus ini menawarkan tutorial dan kuis untuk memperkuat pemahaman Anda tentang pengimporan data di R.