วิธีส่งออกข้อมูลจาก R เป็น CSV, Excel
วิธีส่งออกข้อมูลจาก R
ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีส่งออกข้อมูลจากสภาพแวดล้อม R ไปเป็นรูปแบบต่างๆ
หากต้องการส่งออกข้อมูลไปยังฮาร์ดไดรฟ์ คุณต้องมีเส้นทางของไฟล์และนามสกุล ประการแรก เส้นทางคือตำแหน่งที่จะจัดเก็บข้อมูล ในบทช่วยสอนนี้ คุณจะเห็นวิธีจัดเก็บข้อมูลบน:
- ฮาร์ดไดรฟ์
- Google Drive
- Dropbox
ประการที่สอง R อนุญาตให้ผู้ใช้ส่งออกข้อมูลเป็นไฟล์ประเภทต่างๆ เราครอบคลุมนามสกุลของไฟล์ที่จำเป็น:
- CSV
- xlsx
- RDS
- SAS
- SPSS
- สเตตัส
โดยรวมแล้วการส่งออกข้อมูลจาก R ไม่ใช่เรื่องยาก
ส่งออกไปยังฮาร์ดไดรฟ์
ในการเริ่มต้น คุณสามารถบันทึกข้อมูลลงในไดเร็กทอรีการทำงานได้โดยตรง โค้ดต่อไปนี้จะพิมพ์เส้นทางของไดเร็กทอรีการทำงานของคุณ:
directory <-getwd() directory
Output:
## [1] "/Users/15_Export_to_do"
ตามค่าเริ่มต้น ไฟล์จะถูกบันทึกในเส้นทางด้านล่าง
สำหรับ Mac OS:
/Users/USERNAME/Downloads/
สำหรับ Windows:
C:\Users\USERNAME\Documents\
แน่นอนคุณสามารถกำหนดเส้นทางที่แตกต่างออกไปได้ ตัวอย่างเช่น คุณสามารถเปลี่ยนเส้นทางไปยังโฟลเดอร์ดาวน์โหลดได้
สร้างกรอบข้อมูล
ก่อนอื่น เรามานำเข้าชุดข้อมูล mtcars และรับค่าเฉลี่ยของ mpg และ disp ที่จัดกลุ่มตามเกียร์
library(dplyr) df <-mtcars % > % select(mpg, disp, gear) % > % group_by(gear) % > % summarize(mean_mpg = mean(mpg), mean_disp = mean(disp)) df
Output:
## # A tibble: 3 x 3 ## gear mean_mpg mean_disp ## <dbl> <dbl> lt;dbl> ## 1 3 16.10667 326.3000 ## 2 4 24.53333 123.0167 ## 3 5 21.38000 202.4800
ตารางประกอบด้วยสามแถวและสามคอลัมน์ คุณสามารถสร้างไฟล์ CSV ด้วยฟังก์ชัน write.csv ใน R
วิธีส่งออก DataFrame ไปยังไฟล์ CSV ใน R
ไวยากรณ์พื้นฐานของ write.csv ใน R เพื่อส่งออก DataFrame เป็น CSV ใน 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
ตัวอย่าง:
write.csv(df, "table_car.csv")
คำอธิบายรหัส
- write.csv(df, “table_car.csv”): สร้างไฟล์ CSV ในฮาร์ดไดรฟ์:
- df: ชื่อของกรอบข้อมูลในสภาพแวดล้อม
- “table_car.csv”: ตั้งชื่อไฟล์ table_car และจัดเก็บเป็น csv
หมายเหตุ: คุณสามารถใช้ฟังก์ชัน write.csv ใน R เป็น write.csv2() เพื่อแยกแถวด้วยเครื่องหมายอัฒภาคสำหรับการส่งออก R ไปยังข้อมูล csv
write.csv2(df, "table_car.csv")
หมายเหตุ: เพื่อวัตถุประสงค์ในการสอนเท่านั้น เราได้สร้างฟังก์ชันที่เรียกว่า open_folder() เพื่อเปิดโฟลเดอร์ไดเร็กทอรีให้กับคุณ คุณเพียงแค่ต้องเรียกใช้โค้ดด้านล่างและดูว่าไฟล์ csv เก็บอยู่ที่ไหน คุณควรเห็นชื่อไฟล์ table_car.csv สำหรับ data R ที่ส่งออกเป็น 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)
วิธีส่งออกข้อมูลจากไฟล์ R ไปยัง Excel
ตอนนี้ เราจะเรียนรู้วิธีส่งออกข้อมูลจาก R ไปยัง Excel:
การส่งออกข้อมูลจาก R ไปยัง Excel นั้นไม่สำคัญ Windows ผู้ใช้และซับซ้อนกว่าสำหรับผู้ใช้ Mac OS ผู้ใช้ทั้งสองจะใช้ไลบรารี xlsx เพื่อสร้างไฟล์ Excel ความแตกต่างเล็กน้อยมาจากการติดตั้งห้องสมุด อันที่จริงไลบรารี xlsx ใช้ Java เพื่อสร้างไฟล์. Java จำเป็นต้องติดตั้งหากไม่มีอยู่ในเครื่องของคุณเพื่อส่งออก Data R ไปยัง Excel
Windows ผู้ใช้
ถ้าคุณเป็น Windows ผู้ใช้ คุณสามารถติดตั้งไลบรารีได้โดยตรงกับ conda เพื่อส่งออก dataframe ไปยัง excel R:
conda install -c r r-xlsx
เมื่อติดตั้งไลบรารีแล้ว คุณสามารถใช้ฟังก์ชัน write.xlsx() ได้ เวิร์กบุ๊ก Excel ใหม่จะถูกสร้างขึ้นในไดเร็กทอรีการทำงานสำหรับการส่งออก R ไปยังข้อมูล Excel
library(xlsx) write.xlsx(df, "table_car.xlsx")
หากคุณเป็นผู้ใช้ Mac OS คุณต้องทำตามขั้นตอนเหล่านี้:
- ขั้นตอนที่ 1: ติดตั้งเวอร์ชันล่าสุดของ Java
- ขั้นตอนที่ 2: ติดตั้งไลบรารี่ rJava
- ขั้นตอนที่ 3: ติดตั้งไลบรารี xlsx
ขั้นตอน 1) คุณสามารถดาวน์โหลดได้ Java จากทางการ Oracle ไซต์และติดตั้ง
คุณสามารถกลับไปที่ Rstudio และตรวจสอบว่าเวอร์ชันใด Java มีการติดตั้ง
system("java -version")
ในขณะที่มีการสอนเวอร์ชันล่าสุด Java คือ 9.0.4
ขั้นตอน 2) คุณต้องติดตั้ง rjava ใน R เราแนะนำให้คุณติดตั้ง R และ Rstudio ด้วย Anaconda Anaconda จัดการความสัมพันธ์ระหว่างไลบรารี ในแง่นี้ Anaconda จะจัดการความซับซ้อนของ rJava การติดตั้ง
ก่อนอื่นคุณต้องอัพเดต conda แล้วติดตั้ง ห้องสมุด- คุณสามารถคัดลอกและวางโค้ดสองบรรทัดถัดไปในเทอร์มินัลได้
conda - conda update conda install -c r r-rjava
จากนั้นเปิด rjava ใน Rstudio
library(rJava)
ขั้นตอน 3) ในที่สุดก็ถึงเวลาติดตั้ง xlsx อีกครั้งหนึ่งคุณสามารถใช้ คอนด้า ที่จะทำ:
conda install -c r r-xlsx
เช่นเดียวกับผู้ใช้ Windows คุณสามารถบันทึกข้อมูลด้วยฟังก์ชัน write.xlsx()
library(xlsx)
Output:
## Loading required package: xlsxjars
write.xlsx(df, "table_car.xlsx")
การส่งออกข้อมูลจาก R ไปยังซอฟต์แวร์อื่น
การส่งออกข้อมูลไปยังซอฟต์แวร์อื่นนั้นง่ายพอๆ กับการนำเข้าข้อมูล ไลบรารี “haven” เป็นวิธีที่สะดวกในการส่งออกข้อมูลไปยัง
- เอสพีเอส
- SAS
- เคย
ก่อนอื่นให้นำเข้าไลบรารี หากคุณไม่มี “haven” คุณสามารถไป Good Farm Animal Welfare Awards เพื่อติดตั้ง
library(haven)
ไฟล์ SPSS
ด้านล่างนี้เป็นโค้ดสำหรับส่งออกข้อมูลไปยังซอฟต์แวร์ SPSS:
write_sav(df, "table_car.sav")
การส่งออกข้อมูลจากไฟล์ R ไปยัง SAS
ง่ายเหมือน spss คุณสามารถส่งออกไปยัง sas ได้
write_sas(df, "table_car.sas7bdat")
วิธีส่งออกข้อมูลจากไฟล์ R ไปยัง STATA
ในที่สุดไลบรารี haven อนุญาตให้เขียนไฟล์ .dta ได้
write_dta(df, "table_car.dta")
R
หากคุณต้องการบันทึก data frame หรืออ็อบเจ็กต์ R อื่นๆ คุณสามารถใช้ฟังก์ชัน save() ได้
save(df, file ='table_car.RData')
คุณสามารถตรวจสอบไฟล์ที่สร้างขึ้นด้านบนได้ในไดเร็กทอรีการทำงานปัจจุบัน
โต้ตอบกับบริการคลาวด์
สุดท้าย แต่ไม่ท้ายสุด, R มีห้องสมุดที่ยอดเยี่ยมสำหรับการโต้ตอบกับบริการคอมพิวเตอร์คลาวด์ ส่วนสุดท้ายของบทช่วยสอนนี้เกี่ยวข้องกับไฟล์ส่งออก/นำเข้าจาก:
- Google Drive
- Dropbox
หมายเหตุ: บทช่วยสอนในส่วนนี้จะถือว่าคุณมีบัญชีกับ Google และ Dropbox- ถ้าไม่ คุณสามารถสร้างได้อย่างรวดเร็วสำหรับ – Google Drive: https://accounts.google.com/SignUp?hl=en - Dropbox: https://www.dropbox.com/h
Google Drive
คุณต้องติดตั้งไลบรารี GoogleDrive เพื่อเข้าถึงฟังก์ชันที่อนุญาตให้โต้ตอบกับ Google Drive.
ห้องสมุดยังไม่มีให้บริการที่อนาคอนดา คุณสามารถติดตั้งด้วยโค้ดด้านล่างในคอนโซล
install.packages("googledrive")
และคุณเปิดห้องสมุด
library(googledrive)
สำหรับผู้ใช้ที่ไม่ใช่ conda การติดตั้งไลบรารี่เป็นเรื่องง่าย คุณสามารถใช้ฟังก์ชัน install.packages('NAME OF PACKAGE) โดยมีชื่อของแพ็คเกจอยู่ในวงเล็บ อย่าลืม ' ' โปรดทราบว่า R ควรจะติดตั้งแพ็คเกจใน `libPaths() โดยอัตโนมัติ มันคุ้มค่าที่จะเห็นมันในการดำเนินการ
อัปโหลดไปยัง Google Drive
หากต้องการอัปโหลดไฟล์ไปยัง Google Drive คุณต้องใช้ฟังก์ชัน drive_upload()
แต่ละครั้งที่คุณรีสตาร์ท Rstudio คุณจะได้รับแจ้งให้อนุญาตการเข้าถึงที่เป็นระเบียบเรียบร้อย Google Drive.
ไวยากรณ์พื้นฐานของ drive_upload() คือ
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.
หลังจากที่คุณเปิดใช้โค้ดแล้ว คุณจะต้องยืนยันคำถามหลายข้อ
drive_upload%<("table_car.csv", name ="table_car")
Output:
## Local file: ## * table_car.csv ## uploaded into Drive file: ## * table_car: 1hwb57eT-9qSgDHt9CrVt5Ht7RHogQaMk ## with MIME type: ## * text/csv
คุณพิมพ์ 1 ในคอนโซลเพื่อยืนยันการเข้าถึง
จากนั้นคุณจะถูกเปลี่ยนเส้นทางไปยัง Google API เพื่ออนุญาตการเข้าถึง คลิกอนุญาต
เมื่อการรับรองความถูกต้องเสร็จสมบูรณ์ คุณสามารถออกจากเบราว์เซอร์ของคุณได้
ในคอนโซลของ Rstudio คุณสามารถดูสรุปขั้นตอนที่เสร็จสิ้นได้ Google อัปโหลดไฟล์ที่อยู่ในไดรฟ์ได้สำเร็จ Google กำหนด ID ให้กับแต่ละไฟล์ในไดรฟ์
คุณสามารถดูไฟล์นี้ได้ใน Google Spreadsheet.
drive_browse("table_car")
Output:
คุณจะถูกนำไปที่ Google Spreadsheet
นำเข้าจาก Google Drive
อัพโหลดไฟล์จาก Google Drive มีไอดีก็สะดวก หากคุณทราบชื่อไฟล์ คุณจะได้รับ ID ดังต่อไปนี้:
หมายเหตุ: ขึ้นอยู่กับการเชื่อมต่ออินเทอร์เน็ตและขนาดของไดรฟ์ อาจต้องใช้เวลา
x <-drive_get("table_car") as_id(x)
คุณเก็บ ID ไว้ในตัวแปร x ฟังก์ชั่น drive_download() อนุญาตให้ดาวน์โหลดไฟล์จาก Google Drive.
ไวยากรณ์พื้นฐานคือ:
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.
ในที่สุดคุณก็สามารถดาวน์โหลดไฟล์ได้:
download_google & lt; - drive_download(as_id(x), overwrite = TRUE)
คำอธิบายรหัส
- drive_download(): ฟังก์ชั่นในการดาวน์โหลดไฟล์ Google Drive
- as_id(x): ใช้ ID เพื่อเรียกดูไฟล์ Google Drive
- overwrite = TRUE: หากมีไฟล์อยู่ ให้เขียนทับ มิฉะนั้นการดำเนินการจะหยุดลง หากต้องการดูชื่อไฟล์ในเครื่อง คุณสามารถใช้:
Output:
ไฟล์จะถูกจัดเก็บไว้ในไดเร็กทอรีการทำงานของคุณ โปรดจำไว้ว่า คุณต้องเพิ่มส่วนขยายของไฟล์เพื่อเปิดไฟล์ใน R คุณสามารถสร้างชื่อเต็มได้ด้วยฟังก์ชัน paste() (เช่น 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
Output:
## 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
สุดท้ายคุณสามารถลบไฟล์ออกจาก Google ไดรฟ์ของคุณได้
## remove file drive_find("table_car") %>%drive_rm()
Output:
มันเป็นกระบวนการที่ช้า ต้องใช้เวลาในการลบ
ส่งออกไปที่ Dropbox
R มีปฏิสัมพันธ์กับ Dropbox ผ่านไลบรารี rdrop2 ห้องสมุดไม่มีให้บริการที่ Anaconda เช่นกัน คุณสามารถติดตั้งผ่านคอนโซลได้
install.packages('rdrop2')
library(rdrop2)
คุณต้องให้การเข้าถึงชั่วคราว Dropbox ด้วยข้อมูลประจำตัวของคุณ หลังจากการระบุตัวตนเสร็จสิ้น R สามารถสร้าง ลบการอัปโหลด และดาวน์โหลดไปยังของคุณได้ Dropbox.
ก่อนอื่น คุณต้องให้สิทธิ์การเข้าถึงบัญชีของคุณ ข้อมูลประจำตัวจะถูกแคชไว้ระหว่างเซสชันทั้งหมด
drop_auth()
คุณจะถูกนำไปที่ Dropbox เพื่อยืนยันการรับรองความถูกต้อง
คุณจะได้รับหน้ายืนยัน คุณสามารถปิดและกลับไปที่ R
คุณสามารถสร้างโฟลเดอร์ด้วยฟังก์ชัน drop_create()
- drop_create('my_first_drop'): สร้างโฟลเดอร์ในสาขาแรกของ Dropbox
- drop_create('First_branch/my_first_drop'): สร้างโฟลเดอร์ภายในโฟลเดอร์ First_branch ที่มีอยู่
drop_create('my_first_drop')
Output:
ในหยดBox
หากต้องการอัปโหลดไฟล์ .csv ลงในไฟล์ของคุณ Dropboxให้ใช้ฟังก์ชัน drop_upload()
ไวยากรณ์พื้นฐาน:
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")
Output:
ที่ DropBox
คุณสามารถอ่านไฟล์ CSV ได้จาก Dropbox ด้วยฟังก์ชัน drop_read_csv()
dropbox_table_car <-drop_read_csv("my_first_drop/table_car.csv") dropbox_table_car
Output:
## 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
เมื่อคุณใช้ไฟล์เสร็จแล้วและต้องการลบมัน คุณต้องเขียนเส้นทางของไฟล์ในฟังก์ชัน drop_delete()
drop_delete('my_first_drop/table_car.csv')
Output:
นอกจากนี้ยังสามารถลบโฟลเดอร์ได้อีกด้วย
drop_delete('my_first_drop')
Output:
สรุป
เราสามารถสรุปฟังก์ชั่นทั้งหมดได้ในตารางด้านล่างนี้
ห้องสมุด | วัตถุประสงค์ | ฟังก์ชัน |
---|---|---|
ฐาน | ส่งออกไฟล์ CSV | เขียน.csv() |
xlsx | ส่งออกเอ็กเซล | เขียน.xlsx() |
ที่พัก | ส่งออก sps | write_sav() |
ที่พัก | ส่งออกซา | write_sas() |
ที่พัก | ส่งออกสถานะ | write_dta() |
ฐาน | ส่งออกอาร์ | บันทึก() |
กูเกิลไดรฟ์ | อัพโหลด Google Drive | drive_upload() |
กูเกิลไดรฟ์ | เปิด Google Drive | drive_เรียกดู() |
กูเกิลไดรฟ์ | ดึงรหัสไฟล์ | drive_get(as_id()) |
กูเกิลไดรฟ์ | ดาวน์โหลดได้จาก Google Drive | download_google() |
กูเกิลไดรฟ์ | ลบไฟล์ออกจาก Google Drive | drive_rm() |
rddrop2 | การรับรอง | drop_auth() |
rddrop2 | สร้างโฟลเดอร์ | drop_create() |
rddrop2 | อัปโหลดไปยัง Dropbox | drop_upload() |
rddrop2 | อ่านไฟล์ CSV จาก Dropbox | drop_read_csv |
rddrop2 | ลบไฟล์จาก Dropbox | drop_delete() |