Dalam tutorial lanjutan dari This R Data Import Tutorial Is Everything You Need-Part One, DataCamp melanjutkan dengan tutorial komprehensif namun mudah diikuti untuk mengimpor data ke R dengan cepat, mulai dari file teks datar sederhana hingga file SPSS dan SAS yang lebih lanjut.
Seperti yang banyak pembaca kami perhatikan dari pos pertama, beberapa paket hebat untuk mengimpor data ke R belum mendapat perhatian, dan pos tersebut juga belum membahas secara eksplisit perbedaan antara bekerja dengan set data standar dan set data besar. Itulah mengapa ini akan menjadi fokus pos hari ini.
Teruskan membaca untuk menemukan cara lain dan baru untuk mengimpor file spesifik Anda ke R, dan jangan ragu untuk menghubungi jika Anda memiliki pertanyaan tambahan atau menemukan kesalahan yang perlu kami koreksi.
Pertama, pos ini akan membahas lebih dalam cara mendapatkan data dari sumber umum, yang sering kali berupa data mirip spreadsheet, ke R. Seperti pada pos sebelumnya, fokusnya adalah membaca data ke R yang berbeda dari Excel atau jenis file lainnya.
Berikutnya, data dari sumber lain seperti perangkat lunak statistik, basis data, web scraping, dll. akan dibahas.
Jika Anda ingin mengetahui lebih banyak tentang langkah-langkah yang mungkin perlu dilakukan sebelum mengimpor data, buka pos pertama kami, yang menjelaskan cara menyiapkan data dan ruang kerja sebelum memasukkan data ke R.
Catatan bahwa file Anda juga bisa berupa set data online. Dalam kasus itu, Anda cukup memberikan URL sebagai argumen pertama fungsi scan().
Atau, Anda juga bisa membaca data ke dalam sebuah matriks:
data <- matrix(scan("birth.txt"),
nrow=2,
byrow=TRUE)
Didukung oleh
Tip: jika Anda ingin melakukannya secara menyeluruh, Anda mungkin perlu menentukan argumen tambahan agar matriks sesuai dengan yang Anda inginkan. Kunjungi halaman ini untuk informasi lebih lanjut tentang fungsi matrix().
Anda juga dapat membaca kolom dari file masukan ke dalam vektor terpisah:
data <- scan("age.txt",
what = list(Age = 0,
Birthyear= 0),
skip=1,
quiet=TRUE)
Didukung oleh
Catatan bagaimana Anda pertama-tama memberikan (path ke) file dengan ekstensinya sebagai argumen (tergantung apakah Anda mengatur direktori kerja ke folder yang menyimpan dataset Anda atau tidak) lalu menentukan tipe data yang akan dibaca, apakah Anda ingin melewati baris pertama dataset, karakter apa yang membatasi field, dan apakah Anda ingin mencetak baris yang menyatakan berapa banyak item yang telah dibaca.
Jika data Anda juga dapat berisi tipe data lain, Anda perlu menyesuaikan fungsi scan() sedikit, seperti dalam contoh ini:
data <- scan("age.csv",
what = list(Age = 0,
Name= "",
Birthyear= 0),
skip=1,
sep=";",
quiet=TRUE)
Didukung oleh
Tip: Anda juga bisa mencobanya sendiri! Unduh file teks yang digunakan di atas di sini.
Dan kemudian Anda juga dapat membaca data ke dalam sebuah data frame:
data <- data.frame(scan("age.csv",
what = list(Age = 0,
Name = "",
Birthyear= 0),
skip=1,
sep=";",
quiet=TRUE)
Didukung oleh
Tip: banyak argumen yang dapat diterima fungsi scan() sama dengan yang bisa Anda gunakan pada fungsi read.table(). Itulah mengapa selalu berguna memeriksa dokumentasinya! Kunjungi di sini jika Anda ingin membaca argumen fungsi scan().
Ingat bahwa Anda dapat mendapatkan dan mengatur direktori kerja dengan perintah berikut, masing-masing:
getwd()
setwd("<path to your folder>")
Didukung oleh
Mengimpor Data Kolom Tetap ke R dengan read.fwf()
Untuk membaca tabel “data berformat lebar tetap” ke dalam data frame di R, Anda dapat menggunakan fungsi read.fwf() dari paket utils.
Anda menggunakan fungsi ini ketika file data Anda memiliki kolom yang berisi spasi, atau kolom tanpa spasi sebagai pemisah.
Phys / 00 / 1: M abadda
Math / 00 / 2: F bcdccb
Lang / 00 / 3: F abcdab
Chem / 00 / 4: M cdabaa
Didukung oleh
Di sini, Anda tahu misalnya bahwa nilai mata pelajaran selalu berada pada 7 karakter pertama di setiap baris dan nilai jenis kelamin selalu di posisi 22, dan skor dimulai dari karakter 25 hingga 30.
Jika Anda ingin mencoba memuat data ini ke R, Anda dapat dengan mudah mengunduh file teksnya di sini.
Anda perlu menjalankan perintah berikut untuk mendapatkan data di atas dengan benar ke R:
read.fwf("scores.txt",
widths= c(7,-14,1,-2,1,1,1,1,1,1),
col.names=c("subject","sex","s1","s2","s3","s4","s5","s6"),
strip.white=TRUE)
Didukung oleh
Catatan bahwa argumen widths memberikan lebar field lebar tetap. Dalam kasus ini, tujuh karakter pertama di file dicadangkan untuk nama mata kuliah; Lalu, Anda tidak ingin empat belas karakter berikutnya dibaca: Anda memberikan -14. Selanjutnya, Anda butuh satu karakter untuk mewakili jenis kelamin, tetapi Anda tidak ingin dua karakter berikutnya, jadi Anda memberikan -2. Semua karakter berikutnya perlu dibaca ke kolom terpisah, jadi Anda membaginya dengan memberikan 1,1,1,1,1,1 ke argumen tersebut. Tentu saja, nilai-nilai ini dapat dan akan berbeda, tergantung pada kolom mana yang ingin Anda impor.
Ada sejumlah argumen tambahan yang dapat Anda berikan ke fungsi read.fwf(). Klik di sini untuk membacanya.
Catatan bahwa jika Anda ingin memuat file dengan spesifikasi format gaya Fortran, Anda dapat menggunakan fungsi read.fortran():
data <- tempfile()
cat(file = data, "345678", "654321", sep = "\n")
read.fortran(data, c("F2.1","F2.0","I2"))
Didukung oleh
Seperti yang terlihat dari contoh kecil di atas, Anda menggunakan spesifikasi format gaya Fortran sebagai argumen kedua fungsi read.fortran(). Argumen yang mungkin Anda berikan bergaya: “rFl.d”, “rDl.d”, “rXl”, “rAl” atau “rIl”, di mana “l” adalah jumlah kolom, “d” adalah jumlah tempat desimal, dan “r” adalah jumlah pengulangan. Dalam kasus ini, Anda melihat 2.1, 2.0 dan 2 yang dicantumkan melalui fungsi c(), yang berarti Anda memiliki tiga kolom dengan dua baris. Pada kolom pertama, Anda memiliki nilai dengan satu tempat desimal, pada kolom kedua dan ketiga juga berisi nilai tanpa tempat desimal.
Terkait tipe nilai yang dikandung kolom, Anda dapat memiliki:
“F” dan “D” untuk format numerik;
“A” jika Anda memiliki nilai karakter;
“I” untuk nilai integer;
Dan “X” untuk menandakan kolom yang dapat dilewati.
Dalam kasus ini, kolom pertama dan kedua akan berisi format numerik, sementara kolom ketiga berisi nilai integer.
Catatan bahwa kode pengulangan “r” dan kode tempat desimal “d” selalu opsional. Kode panjang “l” diperlukan kecuali untuk format “X” ketika “r” ada.
Gulir lebih lanjut untuk mengetahui cara mengimpor spreadsheet Anda ke R.
Mengimpor Spreadsheet Excel ke R
Selain paket xlsx, Anda juga memiliki sejumlah opsi lain untuk membaca spreadsheet ke R:
1. Membaca Spreadsheet Excel ke R dari Clipboard
Jika Anda memiliki spreadsheet yang terbuka, Anda dapat menyalin isinya ke clipboard dan mengimpornya dengan cepat ke R. Untuk melakukan ini, Anda dapat menggunakan fungsi readClipboard() atau read.table():
readClipboard() #Only on Windows
read.table(file="clipboard")`
Didukung oleh
Seperti yang akan Anda lihat jika mencobanya, pendekatan pertama bekerja baik untuk data vektor, namun cukup rumit jika Anda memiliki data tabular di clipboard. Jika Anda ingin tahu lebih lanjut tentang read.table(), Anda sebaiknya pergi ke bagian pertama dari tutorial impor data R atau tutorial kami tentang membaca dan mengimpor file Excel ke R.
2. Membaca Spreadsheet Excel ke R Melalui Paket RODBC
Cara kedua untuk memasukkan spreadsheet Excel Anda ke R adalah melalui paket RODBC:
Cara pertama menggunakan paket ini adalah seperti berikut:
library(RODBC)
connection <- odbcConnect("<DSN>")
Didukung oleh
Catatan bahwa argumen yang Anda berikan ke odbcConnect() sebenarnya adalah DSN. Untuk panduan lengkap tentang cara menyiapkan DSN, menyiapkan koneksi, dll., buka halaman ini untuk tutorial yang ekstensif namun mudah diakses!
Setelah Anda menyiapkan koneksi, Anda juga bisa menggunakan fungsi sqlQuery() untuk mendapatkan data dari spreadsheet .xls:
query <- "<SQL Query>"
data <- sqlQuery(connection,
query)
str(data)
Didukung oleh
Tip besar: buka halaman ini untuk tutorial yang ekstensif namun mudah diakses!
Pada akhir sesi R, jangan lupa untuk menutup koneksi:
Tip: Jika Anda ingin tahu lebih banyak tentang mengimpor spreadsheet atau file Excel ke R, pastikan untuk menuju ke tutorial pertama kami tentang mengimpor data ke R atau pertimbangkan membaca tutorial kami tentang membaca dan mengimpor file Excel ke R, yang membahas paket readxl dan XLConnect, di antaranya.
Mengimpor Google Spreadsheet ke R
Paket googlesheets dengan fungsi gs_read() memungkinkan Anda membaca Google spreadsheet ke R.
Biarkan peramban terbuka dan selesaikan proses autentikasi. Lalu, jika Anda ingin membaca atau mengedit data, Anda harus mendaftarkannya. Anda dapat melakukannya dengan menentukan spreadsheet Anda berdasarkan judul atau key:
data <- gs_title("<your spreadsheet>")
data <- gs_key()
Didukung oleh
Ini hanyalah gambaran singkat tentang apa yang dilakukan dengan paket googlesheets. Pastikan membaca semua detailnya di sini, dan jangan lupa juga melihat halaman ini.
Membaca File Data Interchange Format (DIF) ke R
Gunakan fungsi read.DIF() untuk memasukkan file DIF Anda ke R:
data <- read.DIF("<your spreadsheet>",
header=FALSE,
as.is = !stringsAsFactors)
Didukung oleh
Catatan bahwa Anda dapat menentukan apakah spreadsheet Anda memiliki header atau tidak dan apakah Anda ingin mengimpor data “apa adanya”, yaitu apakah Anda ingin mengonversi variabel karakter menjadi faktor. Dalam kasus ini, Anda tidak menginginkannya, jadi Anda memberikan !stringsAsFactors.
Untuk informasi lebih lanjut tentang fungsi ini atau argumennya, buka halaman ini.
Mengimpor File Excel ke R
Selain spreadsheet, Anda mungkin juga tertarik untuk memasukkan file Excel sebenarnya ke R. Tidak perlu mencari lagi dan lanjutkan membaca untuk mengetahui caranya!
Meskipun paket ini masih dalam pengembangan aktif, tetap layak dicoba, karena menawarkan cara yang cukup mudah untuk membaca file Excel:
library(readxl)
read_excel("<path to file")
Didukung oleh
Ingat bahwa Anda bisa cukup mengetikkan nama file beserta ekstensinya jika foldernya ada di direktori kerja Anda. Dapatkan dan atur direktori kerja Anda melalui baris kode berikut:
getwd()
setwd("<Path to your folder>")
Didukung oleh
Catatan bahwa Anda dapat menentukan sheet yang akan dibaca, nama dan tipe kolom, nilai hilang, dan jumlah baris yang akan dilewati sebelum membaca data dengan argumen sheet, col_names, col_types, na dan skip, masing-masing. Baca selengkapnya di sini.
Membaca File Excel ke R dengan openxlsx
Paket openxlsx juga menyediakan cara sederhana untuk membaca file Excel .xlsx ke R:
library(openxlsx)
read.xlsx("<path to your file>")
Didukung oleh
Jika Anda ingin mengetahui detail lebih lanjut tentang paket ini atau argumen yang dapat Anda berikan ke fungsi read.xlsx(), pastikan klik di sini.
Tip: Jika Anda ingin tahu lebih banyak tentang mengimpor file Excel ke R, pastikan menuju ke tutorial pertama kami tentang “mengimpor data ke R” atau pertimbangkan membaca tutorial ekstensif kami tentang membaca dan mengimpor file Excel ke R, yang juga membahas paket XLConnect, di antaranya.
Mengimpor OpenDocument Spreadsheet ke R
Gunakan fungsi read.ods() dari paket readODS untuk membaca OpenDocument spreadsheet Anda ke R dan memasukkannya ke dalam data frame:
library(readODS)
read.ods("<path to your file>",
sheet = 1,
formulaAsFormula = FALSE)
Didukung oleh
Catatan bahwa, selain file yang ingin Anda masukkan ke R, Anda dapat menentukan sheet yang diinginkan dan Anda memiliki opsi untuk menampilkan rumus sebagai rumus (misalnya, “SUM(B1:B3)” atau nilai hasilnya).
Mengimpor File JavaScript Object Notation (JSON) ke R
Dalam pos pertama kami tentang mengimpor data ke R, paket rjson disebutkan untuk memasukkan file JSON ke R.
Namun demikian, ada juga paket lain yang dapat Anda gunakan untuk mengimpor file JSON ke R. Teruskan membaca untuk mengetahui lebih lanjut!
Mengimpor File JSON ke R dengan Paket jsonlite
Baru-baru ini masuk 25 besar paket R yang paling banyak diunduh dengan 66952 unduhan, paket jsonlite jelas merupakan salah satu favorit pengguna R.
Anda mengimpor file JSON dengan fungsi fromJSON():
library(jsonlite)
data <- fromJSON("<Path to your JSON file>")
Didukung oleh
Untuk panduan cepat yang dijelaskan dengan baik tentang paket jsonlite, buka di sini.
Mengimpor File JSON ke R dengan paket RJSONIO
Paket ketiga yang terkenal untuk memasukkan file JSON ke R adalah RJSONIO. Sama seperti paket jsonlite dan jsonlite, Anda menggunakan fungsi fromJSON():
library(RJSONIO)
data <- fromJSON("<Path to your JSON file")
Didukung oleh
Paket JSON Terbaik?
Ada cukup banyak diskusi tentang topik ini. Jika Anda ingin tahu lebih banyak, Anda sebaiknya memeriksa halaman dan pos berikut:
halaman ini terutama menawarkan ilustrasi melalui contoh kode yang memberi Anda lebih banyak wawasan tentang perilaku dan kinerja paket JSON di R.
Pastikan membaca pos blog ini, yang mencoba mencari tahu paket mana yang paling baik menangani data JSON di R.
Mendapatkan Data dari Perangkat Lunak Statistik ke R
Jika data Anda tidak benar-benar mirip spreadsheet dan bukan file Excel atau JSON, mungkin itu dibuat dengan salah satu dari banyak paket perangkat lunak statistik.
Bagian ini akan memberi Anda lebih banyak cara untuk membaca file SPSS, Stata, atau SAS, sekaligus memberikan ikhtisar pengimporan file dari S-plus dan Epi Info. Pastikan untuk kembali ke pos pertama kami atau tautan yang disediakan di bawah jika Anda ingin informasi lebih lanjut!
Mengimpor File SPSS ke R
Alih-alih menggunakan paket foreign, Anda juga dapat menggunakan paket haven untuk memasukkan file SPSS ke R.
Ingat untuk memastikan memasang dan mengaktifkannya di ruang kerja Anda sebelum memulai!
Paket haven menawarkan fungsi read_spss() untuk membaca file SPSS ke R:
library(haven)
data <- read_spss("<path to your SPSS file>")
Didukung oleh
Mengimpor File Stata ke R
Serupa dengan paket foreign, paket haven juga menyediakan fungsi untuk membaca file Stata ke R, yaitu read_dta():
data <- read_dta("<path to your STATA file>")
Didukung oleh
Ingat selalu untuk memasang paket jika perlu dan mengaktifkannya di ruang kerja Anda. Misalnya, Anda dapat memasang dan mengaktifkan paket haven di ruang kerja Anda dengan perintah berikut:
install.packages("haven")
library(haven)
Didukung oleh
Mengimpor File SAS ke R
Karena paket sas7bdat disebutkan dalam pos terakhir, tutorial lanjutan ini akan fokus pada cara lain untuk membaca file SAS:
1. Cara Mengimpor File SAS XPORT ke R Dengan paket foreign
Paket foreign dengan fungsi read.xport() juga memungkinkan Anda memasukkan file SAS XPORT ke R:
library(foreign)
data <- read.xport("<path to your SAS file>")
Didukung oleh
2. Cara Mengimpor File SAS XPORT ke R Dengan Paket SASxport
Paket sasXPORT juga memungkinkan membaca file SAS XPORT dengan fungsi read.xport():
library(SASxport)
data <- read.xport("<path to your SAS file>")
Didukung oleh
3. Cara Mengimpor File SAS ke R Dengan Paket haven
Sama seperti paket foreign dan sas7bdat, paket haven juga memungkinkan Anda membaca file b7dat ke R dengan fungsi read_sas():
library(haven)
data <- read_sas("<path to your SAS file>")
Didukung oleh
Mengimpor File S-plus ke R
Untuk dataset S-plus lama, yakni yang diproduksi pada Windows versi 3.x, 4.x atau 2000 atau Unix, versi 3.x dengan integer 4 byte, Anda dapat menggunakan fungsi read.S() dari paket foreign:
library(foreign)
data <- read.S("<Path to your file>")
Didukung oleh
Membaca File Epi Info ke R
Seperti yang mungkin Anda baca dalam tutorial kami sebelumnya atau yang ini, paket foreign menawarkan banyak fungsi untuk membaca file spesifik ke R, dan Epi Info adalah salah satunya. Anda cukup menggunakan fungsi read.epiinfo() untuk memasukkan data Anda ke R:
library(foreign)
data <- read.epiinfo("<Path to your file>")
Didukung oleh
Untuk informasi lebih lanjut tentang Epi Info, klik di sini.
Mendapatkan Data dari Sumber Lain ke R
Selain sumber umum dan perangkat lunak statistik, ada juga banyak sumber lain dari mana Anda bisa mendapatkan data yang ingin Anda baca ke R.
Beberapa di antaranya tercantum di bawah. Teruskan membaca!
Mengimpor File MATLAB ke R
Anda dapat menggunakan paket R.matlab dengan fungsi readMat() untuk mengimpor file MATLAB ke R.
Anda dapat memberikan string karakter sebagai argumen pertama ke fungsi ini atau memberikan vektor mentah. Pada kasus pertama, masukan Anda akan ditafsirkan sebagai nama file, sementara pada kasus kedua akan dianggap sebagai koneksi biner mentah:
library(R.matlab)
data <- readMat("<Path to your file>")
Didukung oleh
Fungsi readMat() akan mengembalikan struktur list bernama yang berisi semua variabel dari file MAT yang Anda impor.
library(foreign)
data <- read.octave("<Path to your file>")
Didukung oleh
Mendapatkan Data FitbitScraper ke R
Anda dapat menggunakan paket fitbitScraper untuk mendapatkan data dari fitbit.
(Bagi yang belum familiar dengan perusahaannya: perusahaan ini menawarkan produk seperti pelacak aktivitas dan perangkat teknologi lain yang mengukur data pribadi seperti jumlah langkah yang ditempuh atau kualitas tidur.)
Kunjungi di sini untuk tutorial singkat dan praktis tentang cara menggunakan paket fitbitScraper.
Mengimpor Data Quantmod ke R
Anda dapat menggunakan paket ini untuk mengekstrak data keuangan dari sumber Internet dengan R. Fungsi yang Anda gunakan untuk memasukkan data ke R adalah getSymbols(), seperti pada contoh ini:
library(quantmod)
data <- getSymbols("YHOO", src="google")
Didukung oleh
Catatan bahwa pertama Anda menentukan vektor karakter dengan nama setiap simbol yang akan dimuat. Dalam kasus ini, yaitu "YHOO". Lalu, Anda mendefinisikan metode sumber. Metode sumber yang tersedia saat ini adalah yahoo, google, MySQL, FRED, csv, RData, dan oanda.
Berikutnya, Anda menentukan parameter lookup dan menyimpannya untuk sesi mendatang:
setSymbolLookup(YHOO='google',GOOG='yahoo')
saveSymbolLookup(file="mysymbols.rda")
Didukung oleh
Sesi baru kemudian memanggil
loadSymbolLookup(file="mysymbols.rda")
getSymbols(c("YHOO","GOOG"))
Didukung oleh
Jika Anda ingin informasi lebih lanjut tentang aplikasi keuangan kuantitatif di R, klik di sini atau buka halaman ini untuk tutorial terperinci bagi pemula tentang bekerja dengan quantmod.
Mendapatkan File ARFF ke R
Data dari file Attribute-Relation File Format (ARFF) Weka dapat dibaca dengan fungsi read.arff():
library(foreign)
data <- read.arff("<Path to your file>")
Didukung oleh
Untuk informasi lebih lanjut tentang fungsi ini, buka halaman ini.
Catatan bahwa paket RWeka juga menawarkan fungsi yang sama untuk mengimpor file ARFF. Kunjungi di sini jika Anda ingin tahu lebih banyak!
Mengimpor Data dari Basis Data ke R
Selain MonetDB.R, rmongodb dan RMySQL, yang dibahas pada pos sebelumnya, Anda juga memiliki paket lain untuk terhubung dengan basis data Anda di R.
Terakhir, untuk terhubung ke SQL Server dengan RJDBC, Anda harus melihat pos blog ini atau buka halaman ini jika Anda ingin terhubung ke basis data Oracle. Catatan bahwa halaman terakhir ini juga memberi Anda opsi lain untuk terhubung ke basis data Oracle.
Catatan bahwa ada juga paket antarmuka basis data DBI yang memungkinkan komunikasi antara R dan sistem manajemen basis data relasional. Untuk informasi lebih lanjut, klik di sini.
Beberapa penjelasan tentang cara bekerja dengan paket ini dapat ditemukan di sini.
Mengimpor File Biner ke R
File data biner berisi informasi yang disimpan dalam kelompok digit biner. Setiap digit biner adalah nol atau satu. Delapan digit biner yang dikelompokkan bersama membentuk satu byte. Anda dapat membaca data biner dengan fungsi readBin():
connection <- file("<path to your file>", "rb") #You open the connection as "reading binary"(rb)
data <- readBin(connection,
what="numeric") #Mode of the vector to be read
Didukung oleh
Untuk contoh yang lebih detail, buka halaman ini. Untuk informasi lebih lanjut tentang fungsi readBin(), klik di sini.
Bagi Anda yang tertarik dengan tutorial cara bekerja dengan file HDF5 atau netCDF di R, pertimbangkan untuk memeriksa sumber berikut:
Anda dapat menemukan tutorial yang sangat baik tentang bekerja dengan file HDF di R, juga menggunakan paket pathfinder di sini;
Tutorial yang mudah diakses untuk pemula tentang netCDF di R dapat ditemukan di halaman ini.
Mengimpor File DBF Anda ke R
DBF atau DataBase File adalah format dasar dari dBase. Anda dapat membaca file DBF dengan menggunakan paket foreign, yang menawarkan fungsi read.dbf():
library(foreign)
data <- read.dbf("<Path to your file>")
Didukung oleh
Catatan bahwa jika Anda menggunakan Windows, Anda juga dapat menggunakan paket RODBC dengan fungsi odbcConnectDbase() untuk membaca file DBF melalui driver ODBC dBase milik Microsoft.
Mengimpor Flat Contingency Table ke R
Paket foreign memungkinkan Anda membaca banyak format file; 'Flat' contingency table bukan pengecualian. Anda dapat menggunakan fungsi read.ftable() untuk melakukannya:
library(foreign)
data <- read.ftable("<Path to your file>")
Didukung oleh
Ingat bahwa contingency table “datar” sangat mirip dengan contingency table “biasa”: tabel tersebut berisi jumlah dari setiap kombinasi level variabel (faktor) yang terlibat. Namun, informasi ini disusun ulang sebagai matriks yang baris dan kolomnya sesuai dengan kombinasi unik level variabel baris dan kolom. Contingency table “datar” oleh karena itu sering lebih disukai untuk merepresentasikan contingency table berdimensi lebih tinggi.
Membaca File Sistem Informasi Geografis (GIS) ke R
Anda dapat menggunakan paket rgdal dan raster, di antaranya, untuk memasukkan file GIS Anda ke R.
Jika Anda tidak yakin bagaimana memulai menggunakan paket rgdal, pertimbangkan untuk memeriksa pos blog yang bagus ini, yang memperkenalkan Anda pada pekerjaan dengan data geospasial di R.
Mengimpor Tabel Integrated Taxonomical Information (ITIS) ke R
Anda dapat mengimpor tabel ITIS dengan fungsi read.table():
data <- read.table("<Path to your file>")
Didukung oleh
Untuk informasi lebih lanjut tentang ITIS, klik di sini.
Mengimpor Set Data Besar ke R
Mengimpor set data besar sering menimbulkan diskusi di antara pengguna R. Selain paket yang dimaksudkan untuk terhubung dengan basis data, ada juga beberapa lainnya yang menonjol saat bekerja dengan big data.
Mengimpor Set Data Besar ke R dengan Paket data.table
Didsekripsikan sebagai “fast and friendly file finagler”, paket populer data.table sangat berguna dan mudah digunakan. Fungsi fread()-nya ditujukan untuk mengimpor data dari file berpembatas reguler langsung ke R, tanpa jalan memutar atau kerumitan.
Catatan bahwa “reguler” dalam kasus ini berarti setiap baris data Anda harus memiliki jumlah kolom yang sama. Contoh:
V1 V2 V3
1 1 6 a
2 2 7 b
3 3 8 c
4 4 9 d
5 5 10 e
Didukung oleh
Salah satu hal hebat tentang fungsi ini adalah semua kontrol, yang diekspresikan dalam argumen seperti sep, colClasses dan nrows terdeteksi secara otomatis. Juga, tipe bit64::integer64 juga terdeteksi dan dibaca langsung tanpa perlu dibaca sebagai karakter sebelum dikonversi.
Ingat bahwa tipe bit64::integer64 adalah integer 64 bit: angka-angka ini disimpan di komputer sepanjang 64 bit. Secara default, ini hanya 32 bit. Karena tipe bit64::integer64 terdeteksi, sistem tahu itu angka dan tidak dibaca sebagai karakter untuk kemudian dikonversi menjadi integer.
Contoh fungsi fread() adalah:
library(data.table)
data <- fread("http://assets.datacamp.com/blog_assets/chol.txt")
data
Didukung oleh
## AGE HEIGHT WEIGHT CHOL SMOKE BLOOD MORT
## 1: 20 176 77 195 nonsmo b alive
## 2: 53 167 56 250 sigare o dead
## 3: 44 170 80 304 sigare a dead
## 4: 37 173 89 178 nonsmo o alive
## 5: 26 170 71 206 sigare o alive
## ---
## 196: 35 174 57 222 pipe a alive
## 197: 38 172 91 227 nonsmo b alive
## 198: 26 170 60 167 sigare a alive
## 199: 39 165 74 259 sigare o alive
## 200: 49 178 81 275 pipe b alive
Didukung oleh
Catatan bahwa membaca data Anda dengan fungsi fread() mengembalikan sebuah data table:
Ini berbeda dari read.table(), yang membuat data frame dari data Anda.
Anda dapat menemukan lebih banyak tentang perbedaan antara data frame dan data table yang dijelaskan di sini. Singkatnya, hal terpenting adalah mengetahui bahwa semua data.table juga merupakan data.frame: data.table juga data.frame. Sebuah data.table dapat diteruskan ke paket apa pun yang hanya menerima data.frame dan paket itu dapat menggunakan sintaks [.data.frame pada data.table. Baca lebih lanjut tentang data.table di sini.
library(data.table)
data <- fread("http://assets.datacamp.com/blog_assets/chol.txt",
sep=auto,
nrows = -1,
na.strings = c("NA","N/A",""),
stringsAsFactors=FALSE
)
Didukung oleh
Catatan bahwa masukan juga bisa berupa file yang ingin Anda baca dan tidak selalu harus berupa URL. Juga, perhatikan bagaimana banyak argumennya sama dengan yang Anda gunakan di read.table(), misalnya.
Tip: ingin tahu lebih banyak tentang data.table? Mungkin kursus kami tentang Data Analysis In R, The data.table Way bisa menarik bagi Anda! Dengan bimbingan Matt Dowle dan Arun Srinivasan, Anda akan beralih dari pemula data.table menjadi ahli data.table dalam waktu singkat.
Mengimpor Set Data Besar ke R dengan Paket ff
Paket ff memungkinkan “penyimpanan yang efisien memori untuk data besar di disk dan fungsi akses cepat”. Ini adalah salah satu solusi yang sering muncul saat Anda menelusuri diskusi yang membahas pembacaan big data sebagai data frame, seperti di sini.
Jika Anda ingin mengimpor file datar terpisah ke data frame ff, Anda dapat menggunakan fungsi read.table.ffdf(), read.csv.ffdf(), read.csv2.ffdf(), read.delim.ffdf() atau read.delim2.ffdf(), mirip dengan fungsi read.table() dan variannya atau pembungkus praktis, yang dijelaskan dalam salah satu pos kami sebelumnya:
bigdata <- read.table.ffdf(file="<Path to file>",
nrows=n)
Didukung oleh
Catatan bahwa argumen pertama Anda bisa NULL (seperti pada kasus ini) atau dapat menunjuk objek ffdf opsional tempat catatan yang dibaca ditambahkan. Jika ingin tahu lebih lanjut, silakan menuju di sini. Kemudian, Anda menamai file dari mana data dibaca dengan argumen file. Anda juga dapat menentukan jumlah maksimum baris yang akan dibaca dengan nrows (yang sama seperti yang Anda lakukan dengan read.table()!).
Anda juga dapat melangkah lebih jauh dan menentukan encoding file, level atau nama fungsi yang dipanggil untuk membaca setiap potongan:
library(ff)
bigdata <- read.table.ffdf(file="<Path to file>",
nrows=n,
fileEncoding="",
levels=NULL,
FUN="read.table")
Didukung oleh
Tip argumen lain yang dapat Anda tambahkan ke fungsi read.table.ffdf(), read.csv.ffdf(), read.csv2.ffdf(), read.delim.ffdf() atau read.delim2.ffdf() dapat ditemukan di sini.
Mengimpor Set Data Besar ke R dengan bigmemory
Paket lain yang sering muncul dalam hasil pencarian untuk kueri terkait set data besar di R adalah paket bigmemory. Paket ini memungkinkan Anda “mengelola matriks masif dengan shared memory dan file yang dipetakan ke memori”.
library(bigmemory)
bigdata <- read.big.matrix(filename="<File name>",
sep="",
header=TRUE,
skip=2)
Didukung oleh
Seperti biasa, Anda terlebih dahulu memberikan nama file ke fungsi, lalu Anda dapat mulai menentukan hal lain, seperti simbol pemisah, header atau jumlah baris yang akan dilewati sebelum mulai membaca file dengan argumen sep, header dan skip masing-masing.
Catatan bahwa ini hanya beberapa contoh! Anda dapat memberikan jauh lebih banyak argumen ke fungsi read.big.matrix()! Pertimbangkan untuk membaca dokumentasinya jika Anda ingin tahu lebih banyak.
Membaca Set Data Besar ke R dengan Paket sqldf
Paket sqldf juga merupakan salah satu paket yang mungkin Anda pertimbangkan saat bekerja dengan set data besar. Paket ini memungkinkan Anda “melakukan seleksi SQL di R”, dan terutama fungsi read.csv.sql() sangat berguna jika Anda ingin membaca file ke R sambil memfilternya dengan pernyataan SQL. Dengan begitu, hanya sebagian data yang diproses oleh R:
library(sqldf)
bigdata <- read.csv.sql(file="<Path to your file>",
sql="select * from file where ...",
colClasses=c("character",
rep("numeric",10)))
Didukung oleh
Catatan bahwa contoh di atas sangat mirip dengan fungsi lain yang memungkinkan Anda mengimpor set data besar ke R, dengan satu-satunya perbedaan bahwa argumen kedua yang Anda berikan ke fungsi read.csv.sql() adalah pernyataan SQL. Tabel yang Anda rujuk dalam kueri SQL merupakan bagian dari file yang Anda sebutkan dalam argumen file dari read.csv.sql().
Tip: untuk informasi lebih lanjut tentang cara bekerja dengan sqldf, Anda dapat menuju ke sini untuk tutorial video atau ke sini untuk ikhtisar tertulis mengenai dasar-dasarnya.
Mengimpor Set Data Besar ke R dengan Fungsi read.table()
Anda dapat menggunakan fungsi “standar” read.table() untuk mengimpor data Anda, tetapi ini mungkin memakan waktu lebih lama dibanding paket lain yang dirancang khusus untuk bekerja lebih baik dengan set data yang lebih besar. Untuk melihat cara kerja fungsi read.table(), kembali ke pos pertama kami.
Untuk membuat fungsi ini berjalan sedikit lebih cepat, Anda dapat menyetelnya sendiri untuk mendapatkan fungsi read.table() yang dioptimalkan. Penyetelan ini sebenarnya hanya terdiri dari menambahkan argumen ke fungsi read.table() biasa, seperti ini:
df <- read.table("<Path to your file>",
header = FALSE,
sep="",
quote = "",
na.strings = "EMPTY",
colClasses = c("character", "numeric", "factor"),
strip.white = TRUE,
comment.char="",
stringsAsFactors = FALSE,
nrows = n
)
Didukung oleh
Catatan bahwa
Anda pertama-tama memberikan (path ke) file Anda, tergantung apakah Anda telah mengatur direktori kerja ke folder tempat file berada atau tidak.
Kemudian, Anda menggunakan argumen header untuk menunjukkan apakah file berisi nama variabel sebagai baris pertama. Ini tidak terjadi pada contoh di atas.
Karakter pemisah field diatur sebagai / dengan argumen sep; Ini berarti nilai pada setiap baris file dipisahkan oleh karakter ini.
Berikutnya, Anda juga dapat memilih untuk menonaktifkan atau mengaktifkan quoting. Dalam kasus ini, karena quote="", Anda menonaktifkan quoting.
Anda juga mendefinisikan bahwa string “EMPTY” dalam dataset Anda ditafsirkan sebagai nilai NA.
Kemudian, Anda juga mendefinisikan kelas kolom Anda: dalam kasus ini, Anda menunjukkan bahwa kolom pertama adalah kolom karakter, yang kedua numerik, dan yang terakhir faktor.
Dengan strip.white Anda mengizinkan penghapusan spasi putih di awal dan akhir dari field karakter yang tidak di-quote; Ini hanya berlaku ketika Anda telah menggunakan argumen sep!
Ketika comment.char diatur sebagai "", Anda mematikan interpretasi komentar.
Anda tidak ingin karakter dikonversi menjadi faktor! Itulah mengapa Anda juga telah mendefinisikan colClasses. Anda menegaskannya dengan menyetel stringsAsFactors ke FALSE. Tip: argumen ini, bersama dengan colClasses dan comment.char, mungkin salah satu yang lebih penting jika Anda ingin mengimpor data dengan mulus!
Terakhir, Anda menetapkan jumlah maksimum baris untuk dibaca.
Tip: jika Anda ingin informasi lebih lanjut tentang semua argumen yang dapat Anda berikan ke fungsi read.table(), Anda sebaiknya mempertimbangkan membaca pos kami tentang membaca file Excel ke R.
Mengimpor Set Data Besar ke R dengan Paket readr
Salah satu paket yang lebih cepat yang dapat Anda gunakan untuk mengimpor set data besar Anda ke R adalah paket readr, yang memungkinkan Anda membaca data teks tabular, seperti read.table. Namun, paket readr menawarkan “sejumlah fungsi pengganti yang menyediakan fungsionalitas tambahan dan jauh lebih cepat” (lihat di sini).
df <- read_table("<Path to your file>",
col_names=TRUE)
Didukung oleh
Catatan bahwa paket readr juga menawarkan fungsi read_csv(), read_csv2(), read_delim(), read_fwf(), read_tsv() dan banyak fungsi lain yang berjalan lebih cepat daripada versi aslinya! Detail dapat ditemukan di sini.
Tip: informasi lebih lanjut tentang paket ini dapat ditemukan di halaman GitHub ini.
Beberapa Catatan Tentang Menangani Big Data di R
Untuk tip lebih lanjut tentang menangani big data di R, Anda sebaiknya melihat diskusi StackOverflow ini, yang membahas paket tetapi juga tip seperti menyimpan data Anda dalam format biner dan penggunaan saveRDS/readRDS atau paket rhdf5 untuk format HDF5.
Catatan bahwa format file terakhir ini telah dibahas di atas dan bahwa banyak paket lain ada selain yang telah dibahas. Misalnya, paket yang digunakan untuk terhubung dengan basis data, seperti RODBC dan MonetDB.R, juga dapat dengan mudah digunakan untuk menangani set data yang lebih besar dan paket dplyr juga terbukti berguna saat Anda ingin bekerja langsung dengan data yang disimpan di beberapa jenis basis data.
Pastikan juga memeriksa pos menarik ini, yang menguji performa pemuatan beberapa paket yang disebutkan di atas!
Memasukkan Data Anda ke R dengan Paket rio
“Pisau serbaguna untuk Input/Output data” ini memudahkan Anda melakukan input dan output data ke R! Anda dapat melakukan in- atau out-put data dari hampir semua format file: saat Anda memasang paket rio, Anda menarik banyak paket pembaca data terpisah menjadi satu. Jika kemudian Anda ingin melakukan input atau output data, Anda hanya perlu mengingat dua fungsi: import() dan export(): rio akan bergantung pada paket pembaca data terpisah untuk menyimpulkan struktur data dari ekstensi file, membaca sumber data berbasis web secara native, dan menetapkan default yang wajar untuk impor dan ekspor.
Singkatnya, rio mendukung serangkaian luas tipe file yang umum digunakan untuk impor dan ekspor.
Mengimpor file Anda dengan rio dilakukan dengan cara berikut:
library(rio)
data <- import("<Path to your file>")
Didukung oleh
Jika Anda ingin melihat format file apa saja yang didukung oleh rio, kunjungi halaman ini.
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.
Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Dalam tutorial lanjutan dari This R Data Import Tutorial Is Everything You Need-Part One, DataCamp melanjutkan dengan tutorial komprehensif namun mudah diikuti untuk mengimpor data ke R dengan cepat, mulai dari file teks datar sederhana hingga file SPSS dan SAS yang lebih lanjut.
Seperti yang banyak pembaca kami perhatikan dari pos pertama, beberapa paket hebat untuk mengimpor data ke R belum mendapat perhatian, dan pos tersebut juga belum membahas secara eksplisit perbedaan antara bekerja dengan set data standar dan set data besar. Itulah mengapa ini akan menjadi fokus pos hari ini.
Teruskan membaca untuk menemukan cara lain dan baru untuk mengimpor file spesifik Anda ke R, dan jangan ragu untuk menghubungi jika Anda memiliki pertanyaan tambahan atau menemukan kesalahan yang perlu kami koreksi.
(Coba kursus interaktif ini: Importing Data in R (Part 1), untuk bekerja dengan file CSV dan Excel di R.)
Mendapatkan Data dari Sumber Umum ke R
Pertama, pos ini akan membahas lebih dalam cara mendapatkan data dari sumber umum, yang sering kali berupa data mirip spreadsheet, ke R. Seperti pada pos sebelumnya, fokusnya adalah membaca data ke R yang berbeda dari Excel atau jenis file lainnya.
Berikutnya, data dari sumber lain seperti perangkat lunak statistik, basis data, web scraping, dll. akan dibahas.
Jika Anda ingin mengetahui lebih banyak tentang langkah-langkah yang mungkin perlu dilakukan sebelum mengimpor data, buka pos pertama kami, yang menjelaskan cara menyiapkan data dan ruang kerja sebelum memasukkan data ke R.
Membaca File Datar ke R dengan
scan()Selain
read.table(), yang disebutkan dalam pos pertama tutorial impor data R, fungsiscan()juga dapat digunakan saat menangani data yang disimpan dalam file teks sederhana dengan pembatas. Tidak seperti fungsiread.table(), fungsiscan()mengembalikan list atau vektor, bukan data frame.Misalkan Anda memiliki dokumen
.txtberikut:Anda dapat membaca datanya (yang bisa Anda unduh di sini) dengan perintah berikut:
Catatan bahwa file Anda juga bisa berupa set data online. Dalam kasus itu, Anda cukup memberikan URL sebagai argumen pertama fungsi
scan().Atau, Anda juga bisa membaca data ke dalam sebuah matriks:
Tip: jika Anda ingin melakukannya secara menyeluruh, Anda mungkin perlu menentukan argumen tambahan agar matriks sesuai dengan yang Anda inginkan. Kunjungi halaman ini untuk informasi lebih lanjut tentang fungsi
matrix().Anda juga dapat membaca kolom dari file masukan ke dalam vektor terpisah:
Catatan bagaimana Anda pertama-tama memberikan (path ke) file dengan ekstensinya sebagai argumen (tergantung apakah Anda mengatur direktori kerja ke folder yang menyimpan dataset Anda atau tidak) lalu menentukan tipe data yang akan dibaca, apakah Anda ingin melewati baris pertama dataset, karakter apa yang membatasi field, dan apakah Anda ingin mencetak baris yang menyatakan berapa banyak item yang telah dibaca.
Jika data Anda juga dapat berisi tipe data lain, Anda perlu menyesuaikan fungsi
scan()sedikit, seperti dalam contoh ini:Tip: Anda juga bisa mencobanya sendiri! Unduh file teks yang digunakan di atas di sini.
Dan kemudian Anda juga dapat membaca data ke dalam sebuah data frame:
Tip: banyak argumen yang dapat diterima fungsi
scan()sama dengan yang bisa Anda gunakan pada fungsiread.table(). Itulah mengapa selalu berguna memeriksa dokumentasinya! Kunjungi di sini jika Anda ingin membaca argumen fungsiscan().Ingat bahwa Anda dapat mendapatkan dan mengatur direktori kerja dengan perintah berikut, masing-masing:
Mengimpor Data Kolom Tetap ke R dengan
read.fwf()Untuk membaca tabel “data berformat lebar tetap” ke dalam data frame di R, Anda dapat menggunakan fungsi
read.fwf()dari paketutils.Anda menggunakan fungsi ini ketika file data Anda memiliki kolom yang berisi spasi, atau kolom tanpa spasi sebagai pemisah.
Di sini, Anda tahu misalnya bahwa nilai mata pelajaran selalu berada pada 7 karakter pertama di setiap baris dan nilai jenis kelamin selalu di posisi 22, dan skor dimulai dari karakter 25 hingga 30.
Jika Anda ingin mencoba memuat data ini ke R, Anda dapat dengan mudah mengunduh file teksnya di sini.
Anda perlu menjalankan perintah berikut untuk mendapatkan data di atas dengan benar ke R:
Catatan bahwa argumen
widthsmemberikan lebar field lebar tetap. Dalam kasus ini, tujuh karakter pertama di file dicadangkan untuk nama mata kuliah; Lalu, Anda tidak ingin empat belas karakter berikutnya dibaca: Anda memberikan-14. Selanjutnya, Anda butuh satu karakter untuk mewakili jenis kelamin, tetapi Anda tidak ingin dua karakter berikutnya, jadi Anda memberikan-2. Semua karakter berikutnya perlu dibaca ke kolom terpisah, jadi Anda membaginya dengan memberikan1,1,1,1,1,1ke argumen tersebut. Tentu saja, nilai-nilai ini dapat dan akan berbeda, tergantung pada kolom mana yang ingin Anda impor.Ada sejumlah argumen tambahan yang dapat Anda berikan ke fungsi
read.fwf(). Klik di sini untuk membacanya.Catatan bahwa jika Anda ingin memuat file dengan spesifikasi format gaya Fortran, Anda dapat menggunakan fungsi
read.fortran():Seperti yang terlihat dari contoh kecil di atas, Anda menggunakan spesifikasi format gaya Fortran sebagai argumen kedua fungsi
read.fortran(). Argumen yang mungkin Anda berikan bergaya: “rFl.d”, “rDl.d”, “rXl”, “rAl” atau “rIl”, di mana “l” adalah jumlah kolom, “d” adalah jumlah tempat desimal, dan “r” adalah jumlah pengulangan. Dalam kasus ini, Anda melihat2.1,2.0dan2yang dicantumkan melalui fungsic(), yang berarti Anda memiliki tiga kolom dengan dua baris. Pada kolom pertama, Anda memiliki nilai dengan satu tempat desimal, pada kolom kedua dan ketiga juga berisi nilai tanpa tempat desimal.Terkait tipe nilai yang dikandung kolom, Anda dapat memiliki:
Dalam kasus ini, kolom pertama dan kedua akan berisi format numerik, sementara kolom ketiga berisi nilai integer.
Catatan bahwa kode pengulangan “r” dan kode tempat desimal “d” selalu opsional. Kode panjang “l” diperlukan kecuali untuk format “X” ketika “r” ada.
Mengimpor (Google) Spreadsheet ke R
Spreadsheet dapat diimpor ke R dengan berbagai cara, seperti yang mungkin sudah Anda baca dalam tutorial kami tentang membaca dan mengimpor file Excel ke R atau pos pertama This R Data Import Tutorial Is Everything You Need. Bagian ini akan mengelaborasi hal tersebut dan melangkah lebih jauh, termasuk juga Google spreadsheet dan file DIF!
Gulir lebih lanjut untuk mengetahui cara mengimpor spreadsheet Anda ke R.
Mengimpor Spreadsheet Excel ke R
Selain paket
xlsx, Anda juga memiliki sejumlah opsi lain untuk membaca spreadsheet ke R:1. Membaca Spreadsheet Excel ke R dari Clipboard
Jika Anda memiliki spreadsheet yang terbuka, Anda dapat menyalin isinya ke clipboard dan mengimpornya dengan cepat ke R. Untuk melakukan ini, Anda dapat menggunakan fungsi
readClipboard()atauread.table():Seperti yang akan Anda lihat jika mencobanya, pendekatan pertama bekerja baik untuk data vektor, namun cukup rumit jika Anda memiliki data tabular di clipboard. Jika Anda ingin tahu lebih lanjut tentang
read.table(), Anda sebaiknya pergi ke bagian pertama dari tutorial impor data R atau tutorial kami tentang membaca dan mengimpor file Excel ke R.2. Membaca Spreadsheet Excel ke R Melalui Paket RODBC
Cara kedua untuk memasukkan spreadsheet Excel Anda ke R adalah melalui paket
RODBC:Catatan bahwa argumen yang Anda berikan ke
odbcConnect()sebenarnya adalah DSN. Untuk panduan lengkap tentang cara menyiapkan DSN, menyiapkan koneksi, dll., buka halaman ini untuk tutorial yang ekstensif namun mudah diakses!sqlQuery()untuk mendapatkan data dari spreadsheet.xls:Tip besar: buka halaman ini untuk tutorial yang ekstensif namun mudah diakses!
Pada akhir sesi R, jangan lupa untuk menutup koneksi:
Tip: Jika Anda ingin tahu lebih banyak tentang mengimpor spreadsheet atau file Excel ke R, pastikan untuk menuju ke tutorial pertama kami tentang mengimpor data ke R atau pertimbangkan membaca tutorial kami tentang membaca dan mengimpor file Excel ke R, yang membahas paket
readxldanXLConnect, di antaranya.Mengimpor Google Spreadsheet ke R
Paket
googlesheetsdengan fungsigs_read()memungkinkan Anda membaca Google spreadsheet ke R.Mulailah dengan menjalankan baris kode berikut:
Biarkan peramban terbuka dan selesaikan proses autentikasi. Lalu, jika Anda ingin membaca atau mengedit data, Anda harus mendaftarkannya. Anda dapat melakukannya dengan menentukan spreadsheet Anda berdasarkan judul atau key:
Berikutnya, Anda dapat membaca datanya:
Ini hanyalah gambaran singkat tentang apa yang dilakukan dengan paket
googlesheets. Pastikan membaca semua detailnya di sini, dan jangan lupa juga melihat halaman ini.Membaca File Data Interchange Format (DIF) ke R
Gunakan fungsi
read.DIF()untuk memasukkan file DIF Anda ke R:Catatan bahwa Anda dapat menentukan apakah spreadsheet Anda memiliki header atau tidak dan apakah Anda ingin mengimpor data “apa adanya”, yaitu apakah Anda ingin mengonversi variabel karakter menjadi faktor. Dalam kasus ini, Anda tidak menginginkannya, jadi Anda memberikan
!stringsAsFactors.Untuk informasi lebih lanjut tentang fungsi ini atau argumennya, buka halaman ini.
Mengimpor File Excel ke R
Selain spreadsheet, Anda mungkin juga tertarik untuk memasukkan file Excel sebenarnya ke R. Tidak perlu mencari lagi dan lanjutkan membaca untuk mengetahui caranya!
Catatan bahwa pos ini hanya mengelaborasi apa yang telah dijelaskan dalam tutorial kami tentang membaca dan mengimpor file Excel ke R dan pos pertama This R Data Import Tutorial Is Everything You Need!
Mengimpor File Excel ke R dengan
readxlMeskipun paket ini masih dalam pengembangan aktif, tetap layak dicoba, karena menawarkan cara yang cukup mudah untuk membaca file Excel:
Ingat bahwa Anda bisa cukup mengetikkan nama file beserta ekstensinya jika foldernya ada di direktori kerja Anda. Dapatkan dan atur direktori kerja Anda melalui baris kode berikut:
Catatan bahwa Anda dapat menentukan sheet yang akan dibaca, nama dan tipe kolom, nilai hilang, dan jumlah baris yang akan dilewati sebelum membaca data dengan argumen
sheet,col_names,col_types,nadanskip, masing-masing. Baca selengkapnya di sini.Membaca File Excel ke R dengan
openxlsxPaket openxlsx juga menyediakan cara sederhana untuk membaca file Excel
.xlsxke R:Jika Anda ingin mengetahui detail lebih lanjut tentang paket ini atau argumen yang dapat Anda berikan ke fungsi
read.xlsx(), pastikan klik di sini.Tip: Jika Anda ingin tahu lebih banyak tentang mengimpor file Excel ke R, pastikan menuju ke tutorial pertama kami tentang “mengimpor data ke R” atau pertimbangkan membaca tutorial ekstensif kami tentang membaca dan mengimpor file Excel ke R, yang juga membahas paket
XLConnect, di antaranya.Mengimpor OpenDocument Spreadsheet ke R
Gunakan fungsi
read.ods()dari paketreadODSuntuk membaca OpenDocument spreadsheet Anda ke R dan memasukkannya ke dalam data frame:Catatan bahwa, selain file yang ingin Anda masukkan ke R, Anda dapat menentukan sheet yang diinginkan dan Anda memiliki opsi untuk menampilkan rumus sebagai rumus (misalnya, “SUM(B1:B3)” atau nilai hasilnya).
Mengimpor File JavaScript Object Notation (JSON) ke R
Dalam pos pertama kami tentang mengimpor data ke R, paket
rjsondisebutkan untuk memasukkan file JSON ke R.Namun demikian, ada juga paket lain yang dapat Anda gunakan untuk mengimpor file JSON ke R. Teruskan membaca untuk mengetahui lebih lanjut!
Mengimpor File JSON ke R dengan Paket
jsonliteBaru-baru ini masuk 25 besar paket R yang paling banyak diunduh dengan 66952 unduhan, paket
jsonlitejelas merupakan salah satu favorit pengguna R.Anda mengimpor file JSON dengan fungsi
fromJSON():Untuk panduan cepat yang dijelaskan dengan baik tentang paket
jsonlite, buka di sini.Mengimpor File JSON ke R dengan paket
RJSONIOPaket ketiga yang terkenal untuk memasukkan file JSON ke R adalah
RJSONIO. Sama seperti paketjsonlitedanjsonlite, Anda menggunakan fungsifromJSON():Paket JSON Terbaik?
Ada cukup banyak diskusi tentang topik ini. Jika Anda ingin tahu lebih banyak, Anda sebaiknya memeriksa halaman dan pos berikut:
Mendapatkan Data dari Perangkat Lunak Statistik ke R
Jika data Anda tidak benar-benar mirip spreadsheet dan bukan file Excel atau JSON, mungkin itu dibuat dengan salah satu dari banyak paket perangkat lunak statistik.
Bagian ini akan memberi Anda lebih banyak cara untuk membaca file SPSS, Stata, atau SAS, sekaligus memberikan ikhtisar pengimporan file dari S-plus dan Epi Info. Pastikan untuk kembali ke pos pertama kami atau tautan yang disediakan di bawah jika Anda ingin informasi lebih lanjut!
Mengimpor File SPSS ke R
Alih-alih menggunakan paket foreign, Anda juga dapat menggunakan paket
havenuntuk memasukkan file SPSS ke R.Ingat untuk memastikan memasang dan mengaktifkannya di ruang kerja Anda sebelum memulai!
Paket
havenmenawarkan fungsiread_spss()untuk membaca file SPSS ke R:Mengimpor File Stata ke R
Serupa dengan paket foreign, paket
havenjuga menyediakan fungsi untuk membaca file Stata ke R, yaituread_dta():Ingat selalu untuk memasang paket jika perlu dan mengaktifkannya di ruang kerja Anda. Misalnya, Anda dapat memasang dan mengaktifkan paket
havendi ruang kerja Anda dengan perintah berikut:Mengimpor File SAS ke R
Karena paket
sas7bdatdisebutkan dalam pos terakhir, tutorial lanjutan ini akan fokus pada cara lain untuk membaca file SAS:1. Cara Mengimpor File SAS XPORT ke R Dengan paket
foreignPaket foreign dengan fungsi
read.xport()juga memungkinkan Anda memasukkan file SAS XPORT ke R:2. Cara Mengimpor File SAS XPORT ke R Dengan Paket
SASxportPaket
sasXPORTjuga memungkinkan membaca file SAS XPORT dengan fungsiread.xport():3. Cara Mengimpor File SAS ke R Dengan Paket
havenSama seperti paket
foreigndansas7bdat, pakethavenjuga memungkinkan Anda membaca file b7dat ke R dengan fungsiread_sas():Mengimpor File S-plus ke R
Untuk dataset S-plus lama, yakni yang diproduksi pada Windows versi 3.x, 4.x atau 2000 atau Unix, versi 3.x dengan integer 4 byte, Anda dapat menggunakan fungsi
read.S()dari paketforeign:Membaca File Epi Info ke R
Seperti yang mungkin Anda baca dalam tutorial kami sebelumnya atau yang ini, paket
foreignmenawarkan banyak fungsi untuk membaca file spesifik ke R, dan Epi Info adalah salah satunya. Anda cukup menggunakan fungsiread.epiinfo()untuk memasukkan data Anda ke R:Untuk informasi lebih lanjut tentang Epi Info, klik di sini.
Mendapatkan Data dari Sumber Lain ke R
Selain sumber umum dan perangkat lunak statistik, ada juga banyak sumber lain dari mana Anda bisa mendapatkan data yang ingin Anda baca ke R.
Beberapa di antaranya tercantum di bawah. Teruskan membaca!
Mengimpor File MATLAB ke R
Anda dapat menggunakan paket
R.matlabdengan fungsireadMat()untuk mengimpor file MATLAB ke R.Anda dapat memberikan string karakter sebagai argumen pertama ke fungsi ini atau memberikan vektor mentah. Pada kasus pertama, masukan Anda akan ditafsirkan sebagai nama file, sementara pada kasus kedua akan dianggap sebagai koneksi biner mentah:
Fungsi
readMat()akan mengembalikan struktur list bernama yang berisi semua variabel dari file MAT yang Anda impor.Membaca File Octave ke R
Paket
foreignhadir lagi! Gunakan fungsiread.octave()untuk mengimpor data teks Octave ke R:Mendapatkan Data FitbitScraper ke R
Anda dapat menggunakan paket
fitbitScraperuntuk mendapatkan data dari fitbit.(Bagi yang belum familiar dengan perusahaannya: perusahaan ini menawarkan produk seperti pelacak aktivitas dan perangkat teknologi lain yang mengukur data pribadi seperti jumlah langkah yang ditempuh atau kualitas tidur.)
Kunjungi di sini untuk tutorial singkat dan praktis tentang cara menggunakan paket
fitbitScraper.Mengimpor Data Quantmod ke R
Anda dapat menggunakan paket ini untuk mengekstrak data keuangan dari sumber Internet dengan R. Fungsi yang Anda gunakan untuk memasukkan data ke R adalah
getSymbols(), seperti pada contoh ini:Catatan bahwa pertama Anda menentukan vektor karakter dengan nama setiap simbol yang akan dimuat. Dalam kasus ini, yaitu
"YHOO". Lalu, Anda mendefinisikan metode sumber. Metode sumber yang tersedia saat ini adalah yahoo, google, MySQL, FRED, csv, RData, dan oanda.Berikutnya, Anda menentukan parameter lookup dan menyimpannya untuk sesi mendatang:
Sesi baru kemudian memanggil
Jika Anda ingin informasi lebih lanjut tentang aplikasi keuangan kuantitatif di R, klik di sini atau buka halaman ini untuk tutorial terperinci bagi pemula tentang bekerja dengan quantmod.
Mendapatkan File ARFF ke R
Data dari file Attribute-Relation File Format (ARFF) Weka dapat dibaca dengan fungsi
read.arff():Untuk informasi lebih lanjut tentang fungsi ini, buka halaman ini.
Catatan bahwa paket
RWekajuga menawarkan fungsi yang sama untuk mengimpor file ARFF. Kunjungi di sini jika Anda ingin tahu lebih banyak!Mengimpor Data dari Basis Data ke R
Selain
MonetDB.R,rmongodbdanRMySQL, yang dibahas pada pos sebelumnya, Anda juga memiliki paket lain untuk terhubung dengan basis data Anda di R.Anda juga memiliki
mongolite,RMongo,RODBC,ROracle,RPostgreSQL,RSQLite,RJDBC.Untuk tutorial tentang paket-paket ini, lihat daftar berikut:
mongolite, tutorial ini mungkin membantu Anda;RMongo, Anda dapat menuju ke pos blog ini;RODBCdibahas secara ekstensif juga dalam tutorial ini. Untuk deskripsi metode kerja yang lebih singkat, buka di sini;ROracle, Anda dapat melihat presentasi ini;RPostgreSQL, buka di sini atau di sini;RSQLite;RJDBC, Anda harus melihat pos blog ini atau buka halaman ini jika Anda ingin terhubung ke basis data Oracle. Catatan bahwa halaman terakhir ini juga memberi Anda opsi lain untuk terhubung ke basis data Oracle.Catatan bahwa ada juga paket antarmuka basis data
DBIyang memungkinkan komunikasi antara R dan sistem manajemen basis data relasional. Untuk informasi lebih lanjut, klik di sini.Beberapa penjelasan tentang cara bekerja dengan paket ini dapat ditemukan di sini.
Mengimpor File Biner ke R
File data biner berisi informasi yang disimpan dalam kelompok digit biner. Setiap digit biner adalah nol atau satu. Delapan digit biner yang dikelompokkan bersama membentuk satu byte. Anda dapat membaca data biner dengan fungsi
readBin():Untuk contoh yang lebih detail, buka halaman ini. Untuk informasi lebih lanjut tentang fungsi readBin(), klik di sini.
Membaca Format Data Biner ke R
Paket
hdf5,h5r,rhdf5,RNetCDF,ncdfdanncdf4menyediakan antarmuka ke file data HDF5 milik NASA dan netCDF milik UCAR.Bagi Anda yang tertarik dengan tutorial cara bekerja dengan file HDF5 atau netCDF di R, pertimbangkan untuk memeriksa sumber berikut:
Mengimpor File DBF Anda ke R
DBF atau DataBase File adalah format dasar dari dBase. Anda dapat membaca file DBF dengan menggunakan paket
foreign, yang menawarkan fungsiread.dbf():Catatan bahwa jika Anda menggunakan Windows, Anda juga dapat menggunakan paket
RODBCdengan fungsiodbcConnectDbase()untuk membaca file DBF melalui driver ODBC dBase milik Microsoft.Mengimpor Flat Contingency Table ke R
Paket
foreignmemungkinkan Anda membaca banyak format file; 'Flat' contingency table bukan pengecualian. Anda dapat menggunakan fungsiread.ftable()untuk melakukannya:Ingat bahwa contingency table “datar” sangat mirip dengan contingency table “biasa”: tabel tersebut berisi jumlah dari setiap kombinasi level variabel (faktor) yang terlibat. Namun, informasi ini disusun ulang sebagai matriks yang baris dan kolomnya sesuai dengan kombinasi unik level variabel baris dan kolom. Contingency table “datar” oleh karena itu sering lebih disukai untuk merepresentasikan contingency table berdimensi lebih tinggi.
Membaca File Sistem Informasi Geografis (GIS) ke R
Anda dapat menggunakan paket
rgdaldanraster, di antaranya, untuk memasukkan file GIS Anda ke R.Jika Anda tidak yakin bagaimana memulai menggunakan paket
rgdal, pertimbangkan untuk memeriksa pos blog yang bagus ini, yang memperkenalkan Anda pada pekerjaan dengan data geospasial di R.Anda juga dapat memeriksa tutorial ini, yang bekerja dengan
rgdalsertaraster.Mengimpor Tabel Integrated Taxonomical Information (ITIS) ke R
Anda dapat mengimpor tabel ITIS dengan fungsi
read.table():Untuk informasi lebih lanjut tentang ITIS, klik di sini.
Mengimpor Set Data Besar ke R
Mengimpor set data besar sering menimbulkan diskusi di antara pengguna R. Selain paket yang dimaksudkan untuk terhubung dengan basis data, ada juga beberapa lainnya yang menonjol saat bekerja dengan big data.
Mengimpor Set Data Besar ke R dengan Paket
data.tableDidsekripsikan sebagai “fast and friendly file finagler”, paket populer
data.tablesangat berguna dan mudah digunakan. Fungsifread()-nya ditujukan untuk mengimpor data dari file berpembatas reguler langsung ke R, tanpa jalan memutar atau kerumitan.Catatan bahwa “reguler” dalam kasus ini berarti setiap baris data Anda harus memiliki jumlah kolom yang sama. Contoh:
Salah satu hal hebat tentang fungsi ini adalah semua kontrol, yang diekspresikan dalam argumen seperti
sep,colClassesdannrowsterdeteksi secara otomatis. Juga, tipebit64::integer64juga terdeteksi dan dibaca langsung tanpa perlu dibaca sebagai karakter sebelum dikonversi.Ingat bahwa tipe
bit64::integer64adalah integer 64 bit: angka-angka ini disimpan di komputer sepanjang 64 bit. Secara default, ini hanya 32 bit. Karena tipebit64::integer64terdeteksi, sistem tahu itu angka dan tidak dibaca sebagai karakter untuk kemudian dikonversi menjadi integer.Contoh fungsi
fread()adalah:Catatan bahwa membaca data Anda dengan fungsi
fread()mengembalikan sebuah data table:Ini berbeda dari
read.table(), yang membuat data frame dari data Anda.Anda dapat menemukan lebih banyak tentang perbedaan antara data frame dan data table yang dijelaskan di sini. Singkatnya, hal terpenting adalah mengetahui bahwa semua data.table juga merupakan data.frame: data.table juga data.frame. Sebuah data.table dapat diteruskan ke paket apa pun yang hanya menerima data.frame dan paket itu dapat menggunakan sintaks [.data.frame pada data.table. Baca lebih lanjut tentang data.table di sini.
Catatan bahwa masukan juga bisa berupa file yang ingin Anda baca dan tidak selalu harus berupa URL. Juga, perhatikan bagaimana banyak argumennya sama dengan yang Anda gunakan di
read.table(), misalnya.Tip: ingin tahu lebih banyak tentang data.table? Mungkin kursus kami tentang Data Analysis In R, The data.table Way bisa menarik bagi Anda! Dengan bimbingan Matt Dowle dan Arun Srinivasan, Anda akan beralih dari pemula data.table menjadi ahli data.table dalam waktu singkat.
Mengimpor Set Data Besar ke R dengan Paket
ffPaket
ffmemungkinkan “penyimpanan yang efisien memori untuk data besar di disk dan fungsi akses cepat”. Ini adalah salah satu solusi yang sering muncul saat Anda menelusuri diskusi yang membahas pembacaan big data sebagai data frame, seperti di sini.Jika Anda ingin mengimpor file datar terpisah ke data frame ff, Anda dapat menggunakan fungsi
read.table.ffdf(),read.csv.ffdf(),read.csv2.ffdf(),read.delim.ffdf()atauread.delim2.ffdf(), mirip dengan fungsiread.table()dan variannya atau pembungkus praktis, yang dijelaskan dalam salah satu pos kami sebelumnya:Catatan bahwa argumen pertama Anda bisa
NULL(seperti pada kasus ini) atau dapat menunjuk objekffdfopsional tempat catatan yang dibaca ditambahkan. Jika ingin tahu lebih lanjut, silakan menuju di sini. Kemudian, Anda menamai file dari mana data dibaca dengan argumenfile. Anda juga dapat menentukan jumlah maksimum baris yang akan dibaca dengannrows(yang sama seperti yang Anda lakukan denganread.table()!).Anda juga dapat melangkah lebih jauh dan menentukan encoding file, level atau nama fungsi yang dipanggil untuk membaca setiap potongan:
Tip argumen lain yang dapat Anda tambahkan ke fungsi
read.table.ffdf(),read.csv.ffdf(),read.csv2.ffdf(),read.delim.ffdf()atauread.delim2.ffdf()dapat ditemukan di sini.Mengimpor Set Data Besar ke R dengan
bigmemoryPaket lain yang sering muncul dalam hasil pencarian untuk kueri terkait set data besar di R adalah paket
bigmemory. Paket ini memungkinkan Anda “mengelola matriks masif dengan shared memory dan file yang dipetakan ke memori”.Catatan bahwa Anda tidak dapat menggunakan paket ini di Windows: tidak tersedia binary Windows.
Seperti biasa, Anda terlebih dahulu memberikan nama file ke fungsi, lalu Anda dapat mulai menentukan hal lain, seperti simbol pemisah, header atau jumlah baris yang akan dilewati sebelum mulai membaca file dengan argumen
sep,headerdanskipmasing-masing.Catatan bahwa ini hanya beberapa contoh! Anda dapat memberikan jauh lebih banyak argumen ke fungsi
read.big.matrix()! Pertimbangkan untuk membaca dokumentasinya jika Anda ingin tahu lebih banyak.Membaca Set Data Besar ke R dengan Paket
sqldfPaket
sqldfjuga merupakan salah satu paket yang mungkin Anda pertimbangkan saat bekerja dengan set data besar. Paket ini memungkinkan Anda “melakukan seleksi SQL di R”, dan terutama fungsiread.csv.sql()sangat berguna jika Anda ingin membaca file ke R sambil memfilternya dengan pernyataan SQL. Dengan begitu, hanya sebagian data yang diproses oleh R:Catatan bahwa contoh di atas sangat mirip dengan fungsi lain yang memungkinkan Anda mengimpor set data besar ke R, dengan satu-satunya perbedaan bahwa argumen kedua yang Anda berikan ke fungsi
read.csv.sql()adalah pernyataan SQL. Tabel yang Anda rujuk dalam kueri SQL merupakan bagian dari file yang Anda sebutkan dalam argumenfiledariread.csv.sql().Tip: untuk informasi lebih lanjut tentang cara bekerja dengan
sqldf, Anda dapat menuju ke sini untuk tutorial video atau ke sini untuk ikhtisar tertulis mengenai dasar-dasarnya.Mengimpor Set Data Besar ke R dengan Fungsi
read.table()Anda dapat menggunakan fungsi “standar”
read.table()untuk mengimpor data Anda, tetapi ini mungkin memakan waktu lebih lama dibanding paket lain yang dirancang khusus untuk bekerja lebih baik dengan set data yang lebih besar. Untuk melihat cara kerja fungsiread.table(), kembali ke pos pertama kami.Untuk membuat fungsi ini berjalan sedikit lebih cepat, Anda dapat menyetelnya sendiri untuk mendapatkan fungsi
read.table()yang dioptimalkan. Penyetelan ini sebenarnya hanya terdiri dari menambahkan argumen ke fungsiread.table()biasa, seperti ini:Catatan bahwa
headeruntuk menunjukkan apakah file berisi nama variabel sebagai baris pertama. Ini tidak terjadi pada contoh di atas./dengan argumensep; Ini berarti nilai pada setiap baris file dipisahkan oleh karakter ini.quote="", Anda menonaktifkan quoting.strip.whiteAnda mengizinkan penghapusan spasi putih di awal dan akhir dari field karakter yang tidak di-quote; Ini hanya berlaku ketika Anda telah menggunakan argumensep!comment.chardiatur sebagai"", Anda mematikan interpretasi komentar.colClasses. Anda menegaskannya dengan menyetelstringsAsFactorskeFALSE.Tip: argumen ini, bersama dengan
colClassesdancomment.char, mungkin salah satu yang lebih penting jika Anda ingin mengimpor data dengan mulus!Tip: jika Anda ingin informasi lebih lanjut tentang semua argumen yang dapat Anda berikan ke fungsi
read.table(), Anda sebaiknya mempertimbangkan membaca pos kami tentang membaca file Excel ke R.Mengimpor Set Data Besar ke R dengan Paket
readrSalah satu paket yang lebih cepat yang dapat Anda gunakan untuk mengimpor set data besar Anda ke R adalah paket
readr, yang memungkinkan Anda membaca data teks tabular, seperti read.table. Namun, paketreadrmenawarkan “sejumlah fungsi pengganti yang menyediakan fungsionalitas tambahan dan jauh lebih cepat” (lihat di sini).Catatan bahwa paket
readrjuga menawarkan fungsiread_csv(),read_csv2(),read_delim(),read_fwf(),read_tsv()dan banyak fungsi lain yang berjalan lebih cepat daripada versi aslinya! Detail dapat ditemukan di sini.Tip: informasi lebih lanjut tentang paket ini dapat ditemukan di halaman GitHub ini.
Beberapa Catatan Tentang Menangani Big Data di R
Untuk tip lebih lanjut tentang menangani big data di R, Anda sebaiknya melihat diskusi StackOverflow ini, yang membahas paket tetapi juga tip seperti menyimpan data Anda dalam format biner dan penggunaan
saveRDS/readRDSatau paketrhdf5untuk format HDF5.Catatan bahwa format file terakhir ini telah dibahas di atas dan bahwa banyak paket lain ada selain yang telah dibahas. Misalnya, paket yang digunakan untuk terhubung dengan basis data, seperti
RODBCdanMonetDB.R, juga dapat dengan mudah digunakan untuk menangani set data yang lebih besar dan paketdplyrjuga terbukti berguna saat Anda ingin bekerja langsung dengan data yang disimpan di beberapa jenis basis data.Tip: tertarik memanipulasi data di R? Maka kursus interaktif kami tentang
dplyrmungkin cocok untuk Anda! Dengan bimbingan Garrett Grolemund, Anda akan belajar melakukan tugas manipulasi data tingkat lanjut menggunakandplyr.Pastikan juga memeriksa pos menarik ini, yang menguji performa pemuatan beberapa paket yang disebutkan di atas!
Memasukkan Data Anda ke R dengan Paket
rio“Pisau serbaguna untuk Input/Output data” ini memudahkan Anda melakukan input dan output data ke R! Anda dapat melakukan in- atau out-put data dari hampir semua format file: saat Anda memasang paket
rio, Anda menarik banyak paket pembaca data terpisah menjadi satu. Jika kemudian Anda ingin melakukan input atau output data, Anda hanya perlu mengingat dua fungsi:import()danexport():rioakan bergantung pada paket pembaca data terpisah untuk menyimpulkan struktur data dari ekstensi file, membaca sumber data berbasis web secara native, dan menetapkan default yang wajar untuk impor dan ekspor.Singkatnya,
riomendukung serangkaian luas tipe file yang umum digunakan untuk impor dan ekspor.Mengimpor file Anda dengan
riodilakukan dengan cara berikut:Jika Anda ingin melihat format file apa saja yang didukung oleh
rio, kunjungi halaman ini.Penutup
Jika Anda tertarik mempelajari lebih banyak tentang bekerja dengan big data di R, pastikan memeriksa kursus How To Work With Quandl in R dan “Big Data Analysis With Revolution R Enterprise” di DataCamp!