Cara Mengekspor Data dari R ke CSV & Excel

โšก Ringkasan Cerdas

Mengekspor Data dari R mencakup penulisan data frame ke format CSV, Excel, SPSS, SAS, STATA, dan format asli R, kemudian mengirimkan file yang sama ke Google Drive or DropboxSetiap ekspor mengikuti satu pola: sebuah fungsi, sebuah data frame, dan sebuah jalur tujuan.

  • ๐Ÿ“ Tujuan Utama: getwd() melaporkan direktori kerja, dan nama file relatif apa pun akan ditulis di sana kecuali jika jalur lengkap diberikan.
  • ๐Ÿ“„ Ekspor CSV: write.csv(df, โ€œfile.csvโ€) adalah opsi universal, dan write.csv2() beralih ke pemisah titik koma.
  • ๐Ÿ“— Ekspor Excel: Fungsi write.xlsx() dari paket xlsx memerlukan fungsi yang berfungsi dengan baik. Java instalasi pada mesin.
  • ๐Ÿ”„ Perangkat Lunak Statistik: Paket haven menulis file SPSS, SAS, dan STATA dengan fungsi write_sav(), write_sas(), dan write_dta().
  • ๐Ÿ’พ Format Asli: saveRDS() menyimpan satu objek dan save() menyimpan beberapa objek, keduanya mempertahankan level faktor dan atribut secara tepat.
  • โ˜๏ธ Unggahan Awan: Google Drive dan RDrop2 melakukan autentikasi sekali per sesi, kemudian mengunggah, mengunduh, dan menghapus file langsung dari R.

Ekspor Data dari R CSV Excel

Cara Mengekspor Data dari R

Dalam tutorial ini, kita akan mempelajari cara mengekspor data dari lingkungan R ke format berbeda.

Untuk mengekspor data ke hard drive, Anda memerlukan jalur file dan ekstensi. Pertama-tama, path adalah lokasi dimana data akan disimpan. Dalam tutorial ini, Anda akan melihat cara menyimpan data di:

  • Harddisk
  • Google Drive
  • Dropbox

Kedua, R dapat menulis data dalam berbagai format. Tutorial ini membahas ekstensi file penting:

  • csv
  • xlsx
  • RDS
  • SAS
  • SPSS
  • STATA

Setiap ekspor mengikuti bentuk yang sama: satu panggilan fungsi, sebuah data frame, dan jalur tujuan.

Ekspor ke Hard drive

Untuk memulainya, Anda dapat menyimpan data langsung ke direktori kerja. Kode berikut mencetak jalur direktori kerja Anda:

directory <- getwd()
directory

Keluaran:

## [1] "/Users/15_Export_to_do"

Kecuali Anda memberikan jalur lengkap, setiap file akan ditulis ke direktori kerja tersebut. Lokasi default berbeda-beda tergantung sistem, biasanya folder beranda pengguna. macOS dan Linux dan folder Dokumen di WindowsNamun, getwd() selalu memberi tahu Anda nilai saat ini. Ubah dengan setwd(), atau cukup berikan jalur lengkap ke fungsi tulis.

setwd("/Users/USERNAME/Downloads")

Buat bingkai data

Pertama, buatlah kerangka data kecil: rata-rata mpg dan disp yang dikelompokkan berdasarkan gigi dari dataset mtcars.

library(dplyr)
df <-mtcars %>%
    select(mpg, disp, gear) %>%
    group_by(gear) %>%
    summarize(mean_mpg = mean(mpg), mean_disp = mean(disp))
df

Keluaran:

## # A tibble: 3 x 3
##	gear mean_mpg mean_disp
##	<dbl>	<dbl>	<dbl>
## 1	3 16.10667  326.3000
## 2 	4 24.53333  123.0167
## 3	5 21.38000  202.4800

Tabel berisi tiga baris dan tiga kolom. Anda dapat membuat file CSV dengan fungsi write.csv di R.

Cara Mengekspor DataFrame ke File CSV di R

Sintaks dasar write.csv di R untuk Mengekspor DataFrame ke CSV di R:

write.csv(df, path)
arguments
-df: Dataset to save. Need to be the same name of the data frame in the environment.
-path: A string. Set the destination path. Path + filename + extension i.e. "/Users/USERNAME/Downloads/mydata.csv" or the filename + extension if the folder is the same as the working directory

Contoh:

write.csv(df, "table_car.csv")

Code Penjelasan

  • write.csv(df, โ€œtable_car.csvโ€): Buat file CSV di hard drive:
    • df: nama bingkai data di lingkungan
    • โ€œtable_car.csvโ€: Beri nama file table_car dan simpan sebagai csv

NoteFungsi : write.csv2() menulis file yang sama menggunakan titik koma sebagai pemisah kolom dan koma sebagai tanda desimal, yang merupakan konvensi di sebagian besar wilayah Eropa kontinental.

write.csv2(df, "table_car.csv")

NoteUntuk tujuan pedagogis saja, kami membuat fungsi bernama open_folder() untuk membuka folder direktori untuk Anda. Anda hanya perlu menjalankan kode di bawah ini dan melihat di mana file csv disimpan. Anda akan melihat file bernama table_car.csv.

# Run this code to create the function
open_folder <-function(dir){
	if (.Platform['OS.type'] == "windows"){
	shell.exec(dir)  
	} else {
	system(paste(Sys.getenv("R_BROWSER"), dir))
  }
}
# Call the function to open the folder
open_folder(directory)

Cara Mengekspor DataFrame ke File Excel di R

Mengekspor ke Excel sangat mudah. Windows dan sedikit lebih rumit pada macOSKeduanya menggunakan pustaka xlsx, dan perbedaannya hanya terletak pada instalasi, karena xlsx bergantung pada... Java. Java Harus ada di mesin sebelum paket dapat dimuat.

Windows Pengguna

On WindowsInstal library tersebut langsung dengan conda:

conda install -c r r-xlsx

Setelah pustaka terpasang, write.xlsx() akan membuat buku kerja Excel baru di direktori kerja:

library(xlsx)
write.xlsx(df, "table_car.xlsx")

Jika Anda pengguna Mac OS, Anda perlu mengikuti langkah-langkah berikut:

  • Langkah 1: Instal versi terbaru Java
  • Langkah 2: Instal perpustakaan rJava
  • Langkah 3: Instal perpustakaan xlsx

Langkah 1) Anda dapat mengunduh Java dari resmi Oracle situs dan menginstalnya.

Anda dapat kembali ke Rstudio dan memeriksa versi yang mana Java diinstal.

system("java -version")

Apakah ada yang baru-baru ini? Java Rilis berhasil. Jika perintah tersebut tidak melaporkan apa pun, Java Jika belum terpasang, paket xlsx akan gagal dimuat.

Langkah 2) Anda perlu menginstal rjava di R. Kami sarankan Anda menginstal R dan Rstudio dengan Anaconda. Anaconda mengelola dependensi antar pustaka. Dalam hal ini, Anaconda akan menangani kerumitan rJava instalasi.

Pertama-tama, Anda perlu memperbarui conda dan kemudian menginstal perpustakaan. Anda dapat menyalin dan menempelkan dua baris kode berikutnya di terminal.

conda update conda
conda install -c r r-rjava

Selanjutnya, buka rjava di Rstudio

library(rJava)

Langkah 3) Akhirnya, saatnya menginstal xlsx. Sekali lagi, Anda dapat menggunakan konda untuk melakukannya:

conda install -c r r-xlsx

Sama seperti pengguna windows, Anda dapat menyimpan data dengan fungsi write.xlsx()

library(xlsx)

Keluaran:

## Loading required package: xlsxjars
write.xlsx(df, "table_car.xlsx")

Mengekspor Data dari R ke Perangkat Lunak Berbeda

Mengekspor data ke perangkat lunak yang berbeda semudah mengimpornya. Perpustakaan โ€œsurgaโ€ menyediakan cara yang nyaman untuk mengekspor data ke

  • spss
  • sas
  • telah

Pertama-tama, impor perpustakaan. Jika Anda tidak memiliki "haven", Anda dapat pergi di sini untuk menginstalnya.

library(haven)

berkas SPSS

Di bawah ini adalah kode untuk mengekspor data ke software SPSS:

write_sav(df, "table_car.sav")

berkas SAS

Sesederhana spss, Anda bisa mengekspor ke sas

write_sas(df, "table_car.sas7bdat")

Berkas STATA

Terakhir, pustaka haven memungkinkan penulisan file .dta.

write_dta(df, "table_car.dta")

Cara Mengekspor Data ke Format Asli R

Jika Anda ingin menyimpan objek di dalam R dan tidak menyerahkannya ke program lain, gunakan salah satu dari dua format bawaan. Fungsi save() menulis satu atau lebih objek bernama ke dalam file .RData:

save(df, file ='table_car.RData')

Alternatifnya adalah saveRDS(), yang menyimpan tepat satu objek dan memungkinkan pembaca untuk memilih namanya saat kembali:

# One object, name chosen at read time
saveRDS(df, file = "table_car.rds")
my_data <- readRDS("table_car.rds")

# Several objects, original names restored
save(df, directory, file = "workspace.RData")
load("workspace.RData")
Kriteria simpanRDS() / bacaRDS() simpan() / muat()
Objek per file Tepat satu Satu atau banyak
Nama objek saat dimuat ulang Kamu yang memilihnya Dipulihkan seperti yang tersimpan
Menimpa lingkungan Tidak Ya, diam-diam
Ekstensi biasa .rds .RData

Lebih baik gunakan saveRDS() dalam skrip, karena load() dapat secara diam-diam menimpa objek yang sudah ada dengan nama yang sama. Kedua format tersebut mempertahankan level faktor, urutan, dan atribut tetap utuh, yang tidak dapat dilakukan oleh CSV.

Anda dapat memeriksa file yang dibuat di atas di direktori kerja saat ini

Ekspor Data dari File R ke STATA

Berinteraksi dengan Layanan Cloud

Last but not least, R dilengkapi dengan perpustakaan fantastis untuk berinteraksi dengan layanan komputasi awan. Bagian terakhir dari tutorial ini berkaitan dengan ekspor/impor file dari:

  • Google Drive
  • Dropbox

NoteBagian tutorial ini mengasumsikan Anda memiliki akun dengan Google ke Dropbox. Jika tidak, Anda dapat dengan cepat membuatnya untuk โ€“ Google Drive: https://accounts.google.com/SignUp?hl=en - Dropbox: https://www.dropbox.com/h

Google Drive

Anda perlu menginstal perpustakaan googledrive untuk mengakses fungsi yang memungkinkan berinteraksi dengan Google Drive.

Perpustakaan belum tersedia di Anaconda. Anda dapat menginstalnya dengan kode di bawah ini di konsol.

install.packages("googledrive")

dan Anda membuka perpustakaan.

library(googledrive)

Bagi pengguna non-conda, menginstal pustaka itu mudah, Anda dapat menggunakan install.packages('NAMA PAKET') dengan nama paket dalam tanda kutip di dalam tanda kurung. R akan menginstalnya ke lokasi pertama yang dikembalikan oleh .libPaths().

Unggah ke Google Drive

Untuk mengunggah file ke Google Untuk mengunggah data ke drive, Anda perlu menggunakan fungsi drive_upload().

Setiap kali Anda me-restart Rstudio, Anda akan diminta untuk mengizinkan akses ke rapi Google Drive.

Sintaks dasar drive_upload() adalah

drive_upload(file, path = NULL, name = NULL)
arguments:
- file: Full name of the file to upload (i.e., including the extension)
- path: Location of the file- name: You can rename it as you wish. By default, it is the local name.

Setelah Anda meluncurkan kode, Anda perlu mengonfirmasi beberapa pertanyaan

drive_upload("table_car.csv", name = "table_car")

Keluaran:

## Local file: 
## * table_car.csv 
## uploaded into Drive file: 
## * table_car: 1hwb57eT-9qSgDHt9CrVt5Ht7RHogQaMk 
## with MIME type: 
## * text/csv

Anda mengetik 1 di konsol untuk mengonfirmasi akses

Google Drive

Kemudian, Anda akan dialihkan ke Google API untuk mengizinkan akses. Klik Izinkan.

Google Drive

Setelah otentikasi selesai, Anda dapat keluar dari browser Anda.

Google Drive

Di konsol Rstudio, Anda dapat melihat ringkasan langkah yang telah dilakukan. Google Berhasil mengunggah file yang terletak secara lokal di Drive. Google Memberikan ID pada setiap file di drive.

Google Drive

Anda dapat melihat file ini di Google Spreadsheet.

drive_browse("table_car")

Keluaran:

Anda akan dialihkan ke Google Spreadsheet

Google Drive

Di impor dari Google Drive

Mengunduh berdasarkan ID file adalah cara yang paling andal. Jika Anda mengetahui nama file, ambil ID-nya terlebih dahulu:

Note: Tergantung pada koneksi internet Anda dan ukuran Drive Anda, ini memerlukan waktu.

x <-drive_get("table_car")
as_id(x)

Google Drive

Anda menyimpan ID dalam variabel x. Fungsi drive_download() memungkinkan pengunduhan file dari Google Drive.

Sintaks dasarnya adalah:

drive_download(file, path = NULL, overwrite = FALSE)
arguments:
- file:  Name or id of the file to download
-path: Location to download the file. By default, it is downloaded to the working directory and the name as in Google Drive
-overwrite = FALSE: If the file already exists, don't overwrite it. If set to TRUE, the old file is erased and replaced by the new one.

Anda akhirnya dapat mengunduh file:

download_google <- drive_download(as_id(x), overwrite = TRUE)

Code Penjelasan

  • drive_download(): Berfungsi untuk mengunduh file Google Drive
  • as_id(x): Gunakan ID untuk menelusuri file Google Drive
  • overwrite = TRUE: Jika file ada, timpa, jika tidak eksekusi dihentikan Untuk melihat nama file secara lokal, Anda dapat menggunakan:

Keluaran:

Google Drive

File tersebut tersimpan di direktori kerja Anda. Ingat untuk menambahkan ekstensi file sebelum membukanya di R. Anda dapat membuat nama lengkap dengan fungsi paste() (misalnya table_car.csv).

google_file <-download_google$local_path
google_file
path <-paste(google_file, ".csv", sep = "")
google_table_car <-read.csv(path)
google_table_car

Keluaran:

##   X gear mean_mpg mean_disp
## 1 1    3 16.10667  326.3000
## 2 2    4 24.53333  123.0167
## 3 3    5 21.38000  202.4800

Terakhir, Anda dapat menghapus file tersebut dari Google mengemudi.

## remove file
drive_find("table_car") %>%drive_rm()

Keluaran:

Google Drive

Penghapusan diproses secara asinkron oleh Google, jadi mungkin perlu beberapa saat agar file tersebut hilang.

Ekspor ke Dropbox

R berinteraksi dengan Dropbox melalui perpustakaan rdrop2. Perpustakaan juga tidak tersedia di Anaconda. Anda dapat menginstalnya melalui konsol

install.packages('rdrop2')
library(rdrop2)

Anda memberikan akses sementara ke Dropbox dengan kredensial Anda. Setelah diautentikasi, R dapat membuat, menghapus, mengunggah, dan mengunduh file di direktori Anda. Dropbox.

Pertama-tama, Anda perlu memberikan akses ke akun Anda. Kredensial di-cache selama semua sesi.

drop_auth()

Anda akan dialihkan ke Dropbox untuk mengkonfirmasi otentikasi.

Ekspor ke Dropbox

Anda akan mendapatkan halaman konfirmasi. Anda dapat menutupnya dan kembali ke R

Ekspor ke Dropbox

Anda dapat membuat folder dengan fungsi drop_create().

  • drop_create('my_first_drop'): Buat folder di cabang pertama Dropbox
  • drop_create('First_branch/my_first_drop'): Buat folder di dalam folder First_branch yang ada.
drop_create('my_first_drop')

Keluaran:

Ekspor ke Dropbox

Dalam JatuhkanBox

Ekspor ke Dropbox

Untuk mengunggah file .csv ke Anda Dropbox, gunakan fungsi drop_upload().

Sintaks dasar:

drop_upload(file, path = NULL, mode = "overwrite")
arguments:
- file: local path
- path: Path on Dropbox 
- mode = "overwrite":  By default, overwrite an existing file. If set to `add`, the upload is not completed.
drop_upload('table_car.csv', path = "my_first_drop")

Keluaran:

Ekspor ke Dropbox

Saat JatuhBox

Ekspor ke Dropbox

Anda dapat membaca file csv dari Dropbox dengan fungsi drop_read_csv()

dropbox_table_car <-drop_read_csv("my_first_drop/table_car.csv")
dropbox_table_car

Keluaran:

##   X gear mean_mpg mean_disp
## 1 1    3 16.10667  326.3000
## 2 2    4 24.53333  123.0167
## 3 3    5 21.38000  202.4800

Ketika Anda selesai menggunakan file dan ingin menghapusnya. Anda perlu menulis jalur file di fungsi drop_delete()

drop_delete('my_first_drop/table_car.csv')

Keluaran:

Ekspor ke Dropbox

Dimungkinkan juga untuk menghapus folder

drop_delete('my_first_drop')

Keluaran:

Ekspor ke Dropbox

Mengekspor Data dari R: Referensi Fungsi

Semua fungsi ekspor yang digunakan dalam tutorial ini tercantum di bawah ini:

Perpustakaan Tujuan fungsi
mendasarkan Ekspor csv tulis.csv()
xlsx Ekspor unggul tulis.xlsx()
surga Ekspor spss tulis_sav()
surga Ekspor sas tulis_sas()
surga Ekspor status tulis_dta()
mendasarkan Ekspor objek R simpan() / simpanRDS()
googledrive Unggah Google Drive drive_upload()
googledrive Buka di Google Drive drive_browse()
googledrive Ambil ID file drive_get(as_id())
googledrive Download dari Google Drive drive_download()
googledrive Hapus file dari Google Drive drive_rm()
rdrop2 Otentikasi drop_auth()
rdrop2 Buat folder jatuhkan_buat()
rdrop2 Unggah ke Dropbox drop_upload()
rdrop2 Baca csv dari Dropbox drop_read_csv()
rdrop2 Hapus file dari Dropbox drop_hapus()

Pertanyaan Umum Demo Slot

saveRDS() menyimpan satu objek dan readRDS() memungkinkan Anda menetapkannya ke nama apa pun. save() menyimpan beberapa objek dan load() mengembalikan nama aslinya, yang dapat secara diam-diam menimpa variabel yang sudah ada di lingkungan Anda.

Secara default, write.csv() menulis nama baris sebagai kolom pertama tanpa nama. Berikan parameter row.names = FALSE untuk menekan penulisan tersebut, jika tidak, mengimpor ulang file akan menghasilkan kolom X yang tidak diinginkan.

Gunakan writexl::write_xlsx() atau openxlsx::write.xlsx(). Keduanya menulis file .xlsx dalam R murni tanpa Java ketergantungan, yang menghindari rJava Pengaturan yang dibutuhkan oleh paket xlsx.

Gunakan RDS atau Parquet daripada CSV. Keduanya mempertahankan tipe kolom dan level faktor, sehingga dataset pelatihan dimuat ulang secara identik. CSV secara diam-diam mengkonversi tipe dan merupakan sumber umum hasil model yang tidak dapat direproduksi.

Ya. Asisten AI dapat mendiagnosis kesalahan izin, direktori kerja yang salah, dan file yang hilang. Java untuk paket xlsx. Selalu konfirmasikan tujuan dengan getwd() sebelum mempercayai jalur yang disarankan.

Ringkaslah postingan ini dengan: