Cách xuất dữ liệu từ R sang CSV, Excel

Cách xuất dữ liệu từ R

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách xuất dữ liệu từ môi trường R sang các định dạng khác nhau.

Để xuất dữ liệu sang ổ cứng, bạn cần có đường dẫn tệp và phần mở rộng. Trước hết, đường dẫn là vị trí lưu trữ dữ liệu. Trong hướng dẫn này, bạn sẽ biết cách lưu trữ dữ liệu trên:

  • Ổ cứng
  • Google Drive
  • Dropbox

Thứ hai, R cho phép người dùng xuất dữ liệu thành nhiều loại tệp khác nhau. Chúng tôi bao gồm phần mở rộng của tệp cần thiết:

  • csv
  • xlsx
  • RDS
  • SAS
  • SPSS
  • thống kê

Nhìn chung, việc xuất dữ liệu từ R.

Xuất sang ổ cứng

Để bắt đầu, bạn có thể lưu dữ liệu trực tiếp vào thư mục làm việc. Mã sau đây in đường dẫn đến thư mục làm việc của bạn:

directory <-getwd()
directory

Đầu ra:

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

Theo mặc định, file sẽ được lưu ở đường dẫn bên dưới.

Đối với Mac OS:

/Users/USERNAME/Downloads/

Trong Windows:

C:\Users\USERNAME\Documents\

Tất nhiên, bạn có thể thiết lập một con đường khác. Ví dụ: bạn có thể thay đổi đường dẫn đến thư mục tải xuống.

Tạo khung dữ liệu

Trước hết, hãy nhập tập dữ liệu mtcars và lấy giá trị trung bình của mpg và disp được nhóm theo thiết bị.

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

Đầu ra:

## # 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

Bảng có ba hàng và ba cột. Bạn có thể tạo tệp CSV bằng hàm write.csv trong R.

Cách xuất DataFrame sang tệp CSV trong R

Cú pháp cơ bản của write.csv trong R để xuất DataFrame sang CSV trong 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

Ví dụ:

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

Giải thích mã

  • write.csv(df, “table_car.csv”): Tạo file CSV trong ổ cứng:
    • df: tên của khung dữ liệu trong môi trường
    • “table_car.csv”: Đặt tên file table_car và lưu dưới dạng csv

Chú thích: Bạn có thể sử dụng hàm write.csv trong R dưới dạng write.csv2() để phân tách các hàng bằng dấu chấm phẩy để R xuất sang dữ liệu csv.

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

Chú thích: Chỉ nhằm mục đích sư phạm, chúng tôi đã tạo một hàm có tên open_folder() để mở thư mục thư mục cho bạn. Bạn chỉ cần chạy mã bên dưới và xem tệp csv được lưu trữ ở đâu. Bạn sẽ thấy tên tệp table_car.csv để xuất dữ liệu R sang 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)

Cách xuất dữ liệu từ tệp R sang Excel

Bây giờ, chúng ta sẽ tìm hiểu cách xuất dữ liệu từ R sang Excel:

Xuất dữ liệu từ R sang Excel là chuyện nhỏ đối với Windows người dùng và phức tạp hơn đối với người dùng Mac OS. Cả hai người dùng sẽ sử dụng thư viện xlsx để tạo tệp Excel. Sự khác biệt nhỏ đến từ việc cài đặt thư viện. Thật vậy, thư viện xlsx sử dụng Java để tạo tệp. Java cần được cài đặt nếu không có trong máy của bạn để xuất Dữ liệu R sang Excel.

Windows Người sử dụng

Nếu bạn là một Windows người dùng, bạn có thể cài đặt thư viện trực tiếp với conda để xuất khung dữ liệu sang excel R:

conda install -c r r-xlsx

Sau khi thư viện được cài đặt, bạn có thể sử dụng hàm write.xlsx(). Một sổ làm việc Excel mới được tạo trong thư mục làm việc để xuất R sang dữ liệu Excel

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

Nếu bạn là người dùng Mac OS, bạn cần làm theo các bước sau:

  • Bước 1: Cài đặt phiên bản mới nhất của Java
  • Bước 2: Cài đặt thư viện rJava
  • Bước 3: Cài đặt thư viện xlsx

Bước 1) Bạn có thể tải về Java từ chính thức Oracle và cài đặt nó.

Bạn có thể quay lại Rstudio và kiểm tra phiên bản nào của Java được cài đặt.

system("java -version")

Tại thời điểm hướng dẫn, phiên bản mới nhất của Java là 9.0.4.

Bước 2) Bạn cần cài đặt rjava trong R. Chúng tôi khuyên bạn nên cài đặt R và Rstudio với Anaconda. Anaconda quản lý các phụ thuộc giữa các thư viện. Theo nghĩa này, Anaconda sẽ xử lý các phức tạp của rJava cài đặt.

Trước hết, bạn cần cập nhật conda và sau đó cài đặt thư viện. Bạn có thể sao chép và dán hai dòng mã tiếp theo vào terminal.

conda - conda update
conda install -c r r-rjava

Tiếp theo, mở rjava trong Rstudio

library(rJava)

Bước 3) Cuối cùng, đã đến lúc cài đặt xlsx. Một lần nữa, bạn có thể sử dụng chung cư để làm điều đó:

conda install -c r r-xlsx

Giống như người dùng Windows, bạn có thể lưu dữ liệu bằng hàm write.xlsx()

library(xlsx)

Đầu ra:

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

Xuất dữ liệu từ R sang phần mềm khác

Xuất dữ liệu sang các phần mềm khác nhau cũng đơn giản như nhập chúng. Thư viện “thiên đường” cung cấp một cách thuận tiện để xuất dữ liệu sang

  • spss
  • sas
  • đã

Trước hết, hãy nhập thư viện. Nếu bạn không có "haven", bạn có thể đi vào đây để cài đặt nó.

library(haven)

tập tin SPSS

Dưới đây là đoạn mã để xuất dữ liệu sang phần mềm SPSS:

write_sav(df, "table_car.sav")

Xuất dữ liệu từ tệp R sang tệp SAS

Chỉ đơn giản như spss là có thể xuất ra sas

write_sas(df, "table_car.sas7bdat")

Cách xuất dữ liệu từ tệp R sang tệp STATA

Cuối cùng, thư viện haven cho phép ghi tệp .dta.

write_dta(df, "table_car.dta")

R

Nếu bạn muốn lưu khung dữ liệu hoặc bất kỳ đối tượng R nào khác, bạn có thể sử dụng hàm save().

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

Bạn có thể kiểm tra các tập tin được tạo ở trên trong thư mục làm việc hiện tại

Xuất dữ liệu từ R sang tệp STATA

Tương tác với các dịch vụ đám mây

Cuối cùng nhưng không kém, R được trang bị các thư viện tuyệt vời để tương tác với các dịch vụ điện toán đám mây. Phần cuối cùng của hướng dẫn này đề cập đến các tệp xuất/nhập từ:

  • Google Drive
  • Dropbox

Chú thích: Phần hướng dẫn này giả sử bạn có tài khoản với Google và Dropbox. Nếu không, bạn có thể nhanh chóng tạo một cái cho – Google Drive: https://accounts.google.com/SignUp?hl=en – Dropbox: https://www.dropbox.com/h

Google Drive

Bạn cần cài đặt thư viện googledrive để truy cập chức năng cho phép tương tác với Google Drive.

Thư viện chưa có tại Anaconda. Bạn có thể cài đặt nó bằng mã bên dưới trong bảng điều khiển.

install.packages("googledrive")

và bạn mở thư viện.

library(googledrive)

Đối với người dùng không phải conda, việc cài đặt thư viện rất dễ dàng, bạn có thể sử dụng hàm install.packages('NAME OF PACKAGE) với tên gói bên trong dấu ngoặc đơn. Đừng quên ''. Lưu ý rằng, R có nhiệm vụ tự động cài đặt gói trong `libPaths(). Thật đáng để xem nó hoạt động.

Tải lên Google Drive

Để tải tệp lên Google Drive, bạn cần sử dụng hàm drive_upload().

Mỗi lần bạn khởi động lại Rstudio, bạn sẽ được nhắc cho phép truy cập gọn gàng vào Google Drive.

Cú pháp cơ bản của drive_upload() là

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.

Sau khi khởi chạy mã, bạn cần xác nhận một số câu hỏi

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

Đầu ra:

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

Bạn gõ 1 vào console để xác nhận quyền truy cập

Google Drive

Sau đó, bạn được chuyển hướng đến Google API để cho phép truy cập. Nhấp vào Cho phép.

Google Drive

Sau khi xác thực hoàn tất, bạn có thể thoát khỏi trình duyệt của mình.

Google Drive

Trong bảng điều khiển của Rstudio, bạn có thể xem tóm tắt bước đã thực hiện. Google đã tải lên thành công tệp nằm cục bộ trên Drive. Google đã chỉ định ID cho mỗi tệp trong ổ đĩa.

Google Drive

Bạn có thể xem tập tin này trong Google Spreadsheet.

drive_browse("table_car")

Đầu ra:

Bạn sẽ được chuyển hướng đến Google Spreadsheet

Google Drive

Nhập từ Google Drive

Tải lên một tập tin từ Google Drive với ID là thuận tiện. Nếu bạn biết tên tệp, bạn có thể lấy ID của nó như sau:

Chú thích: Tùy thuộc vào kết nối Internet và kích thước Drive của bạn, việc này sẽ mất thời gian.

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

Google Drive

Bạn đã lưu ID trong biến x. Hàm drive_download() cho phép tải xuống một tập tin từ Google Drive.

Cú pháp cơ bản là:

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.

Cuối cùng bạn có thể tải xuống tệp:

download_google & lt; - drive_download(as_id(x), overwrite = TRUE)

Giải thích mã

  • drive_download(): Chức năng tải file từ Google Drive
  • as_id(x): Sử dụng ID để duyệt file trong Google Drive
  • ghi đè = TRUE: Nếu tệp tồn tại, hãy ghi đè lên nó, nếu không thì việc thực thi bị tạm dừng. Để xem tên tệp cục bộ, bạn có thể sử dụng:

Đầu ra:

Google Drive

Tệp được lưu trữ trong thư mục làm việc của bạn. Hãy nhớ rằng, bạn cần thêm phần mở rộng của tệp để mở tệp trong R. Bạn có thể tạo tên đầy đủ bằng hàm dán() (tức là 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

Đầu ra:

##   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

Cuối cùng, bạn có thể xóa tệp khỏi Google Drive của mình.

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

Đầu ra:

Google Drive

Đó là một quá trình chậm rãi. Mất thời gian để xóa

Xuất khẩu sang Dropbox

R tương tác với Dropbox thông qua thư viện rdrop2. Thư viện cũng không có ở Anaconda. Bạn có thể cài đặt nó thông qua bảng điều khiển

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

Bạn cần cung cấp quyền truy cập tạm thời vào Dropbox với thông tin xác thực của bạn. Sau khi nhận dạng xong, R có thể tạo, xóa upload và download về máy của bạn Dropbox.

Trước hết, bạn cần cấp quyền truy cập vào tài khoản của mình. Thông tin đăng nhập được lưu trữ trong tất cả phiên.

drop_auth()

Bạn sẽ được chuyển hướng đến Dropbox để xác nhận việc xác thực.

Xuất khẩu sang Dropbox

Bạn sẽ nhận được một trang xác nhận. Bạn có thể đóng nó và quay lại R

Xuất khẩu sang Dropbox

Bạn có thể tạo một thư mục có chức năng drop_create().

  • drop_create('my_first_drop'): Tạo thư mục ở nhánh đầu tiên của Dropbox
  • drop_create('First_branch/my_first_drop'): Tạo một thư mục bên trong thư mục First_branch hiện có.
drop_create('my_first_drop')

Đầu ra:

Xuất khẩu sang Dropbox

Trong DropBox

Xuất khẩu sang Dropbox

Để tải tệp .csv lên Dropbox, hãy sử dụng hàm drop_upload().

Cú pháp cơ bản:

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")

Đầu ra:

Xuất khẩu sang Dropbox

Tại DropBox

Xuất khẩu sang Dropbox

Bạn có thể đọc tệp csv từ Dropbox với hàm drop_read_csv()

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

Đầu ra:

##   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

Khi bạn sử dụng xong file và muốn xóa nó. Bạn cần ghi đường dẫn của file vào hàm drop_delete()

drop_delete('my_first_drop/table_car.csv')

Đầu ra:

Xuất khẩu sang Dropbox

Cũng có thể xóa một thư mục

drop_delete('my_first_drop')

Đầu ra:

Xuất khẩu sang Dropbox

Tổng kết

Chúng ta có thể tóm tắt tất cả các chức năng trong bảng dưới đây

Thư viện Mục tiêu Chức năng
cơ sở Xuất csv viết.csv()
xlsx Xuất Excel viết.xlsx()
trú ẩn Xuất spss viết_sav()
trú ẩn Xuất khẩu viết_sas()
trú ẩn Xuất trạng thái viết_dta()
cơ sở Xuất R tiết kiệm()
googledrive Tải lên Google Drive drive_upload()
googledrive Mở cửa Google Drive drive_browse()
googledrive Truy xuất ID tệp drive_get(as_id())
googledrive Tải xuống từ Google Drive tải xuống_google()
googledrive Xóa tập tin khỏi Google Drive drive_rm()
rdrop2 xác thực drop_auth()
rdrop2 Tạo một thư mục drop_create()
rdrop2 Tải lên Dropbox drop_upload()
rdrop2 Đọc csv từ Dropbox drop_read_csv
rdrop2 Xóa tệp khỏi Dropbox drop_delete()