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
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
Sau đó, bạn được chuyển hướng đến Google API để cho phép truy cập. Nhấp vào Cho phép.
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.
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.
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
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)
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:
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:
Đó 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.
Bạn sẽ nhận được một trang xác nhận. Bạn có thể đóng nó và quay lại R
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:
Trong 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:
Tại 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:
Cũng có thể xóa một thư mục
drop_delete('my_first_drop')
Đầu ra:
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() |