วิธีส่งออกข้อมูลจาก 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 ไปยังไฟล์ STATA

โต้ตอบกับบริการคลาวด์

สุดท้าย แต่ไม่ท้ายสุด, 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 Drive

จากนั้นคุณจะถูกเปลี่ยนเส้นทางไปยัง Google API เพื่ออนุญาตการเข้าถึง คลิกอนุญาต

Google Drive

เมื่อการรับรองความถูกต้องเสร็จสมบูรณ์ คุณสามารถออกจากเบราว์เซอร์ของคุณได้

Google Drive

ในคอนโซลของ Rstudio คุณสามารถดูสรุปขั้นตอนที่เสร็จสิ้นได้ Google อัปโหลดไฟล์ที่อยู่ในไดรฟ์ได้สำเร็จ Google กำหนด ID ให้กับแต่ละไฟล์ในไดรฟ์

Google Drive

คุณสามารถดูไฟล์นี้ได้ใน Google Spreadsheet.

drive_browse("table_car")

Output:

คุณจะถูกนำไปที่ Google Spreadsheet

Google Drive

นำเข้าจาก Google Drive

อัพโหลดไฟล์จาก Google Drive มีไอดีก็สะดวก หากคุณทราบชื่อไฟล์ คุณจะได้รับ ID ดังต่อไปนี้:

หมายเหตุ: ขึ้นอยู่กับการเชื่อมต่ออินเทอร์เน็ตและขนาดของไดรฟ์ อาจต้องใช้เวลา

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

Google Drive

คุณเก็บ 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:

Google Drive

ไฟล์จะถูกจัดเก็บไว้ในไดเร็กทอรีการทำงานของคุณ โปรดจำไว้ว่า คุณต้องเพิ่มส่วนขยายของไฟล์เพื่อเปิดไฟล์ใน 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:

Google Drive

มันเป็นกระบวนการที่ช้า ต้องใช้เวลาในการลบ

ส่งออกไปที่ Dropbox

R มีปฏิสัมพันธ์กับ Dropbox ผ่านไลบรารี rdrop2 ห้องสมุดไม่มีให้บริการที่ Anaconda เช่นกัน คุณสามารถติดตั้งผ่านคอนโซลได้

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

คุณต้องให้การเข้าถึงชั่วคราว Dropbox ด้วยข้อมูลประจำตัวของคุณ หลังจากการระบุตัวตนเสร็จสิ้น R สามารถสร้าง ลบการอัปโหลด และดาวน์โหลดไปยังของคุณได้ Dropbox.

ก่อนอื่น คุณต้องให้สิทธิ์การเข้าถึงบัญชีของคุณ ข้อมูลประจำตัวจะถูกแคชไว้ระหว่างเซสชันทั้งหมด

drop_auth()

คุณจะถูกนำไปที่ Dropbox เพื่อยืนยันการรับรองความถูกต้อง

ส่งออกไปที่ Dropbox

คุณจะได้รับหน้ายืนยัน คุณสามารถปิดและกลับไปที่ R

ส่งออกไปที่ Dropbox

คุณสามารถสร้างโฟลเดอร์ด้วยฟังก์ชัน drop_create()

  • drop_create('my_first_drop'): สร้างโฟลเดอร์ในสาขาแรกของ Dropbox
  • drop_create('First_branch/my_first_drop'): สร้างโฟลเดอร์ภายในโฟลเดอร์ First_branch ที่มีอยู่
drop_create('my_first_drop')

Output:

ส่งออกไปที่ Dropbox

ในหยดBox

ส่งออกไปที่ Dropbox

หากต้องการอัปโหลดไฟล์ .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

ที่ DropBox

ส่งออกไปที่ 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:

ส่งออกไปที่ Dropbox

นอกจากนี้ยังสามารถลบโฟลเดอร์ได้อีกด้วย

drop_delete('my_first_drop')

Output:

ส่งออกไปที่ Dropbox

สรุป

เราสามารถสรุปฟังก์ชั่นทั้งหมดได้ในตารางด้านล่างนี้

ห้องสมุด วัตถุประสงค์ ฟังก์ชัน
ฐาน ส่งออกไฟล์ 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()