如何将数据从 R 导出到 CSV、Excel
如何从 R 导出数据
在本教程中,我们将学习如何将数据从 R 环境导出为不同的格式。
要将数据导出到硬盘,您需要文件路径和扩展名。首先,路径是存储数据的位置。在本教程中,您将了解如何将数据存储在:
- 硬盘
- Google Drive
- Dropbox
其次,R 允许用户将数据导出到不同类型的文件中。我们介绍了基本文件的扩展名:
- CSV
- XLSX
- RDS
- SAS
- SPSS软件
- 国家统计局
总的来说,从 R 导出数据并不困难。
导出至硬盘
首先,你可以将数据直接保存到工作目录中。以下代码打印工作目录的路径:
directory <-getwd() directory
输出:
## [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
输出:
## # 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
该表包含三行三列。您可以使用 R 中的 write.csv 函数创建 CSV 文件。
如何在 R 中将 DataFrame 导出到 CSV 文件
R 中 write.csv 将 DataFrame 导出为 CSV 的基本语法:
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
备注:您可以使用 R 中的函数 write.csv 作为 write.csv2() 来用分号分隔行,以便将 R 导出为 csv 数据。
write.csv2(df, "table_car.csv")
备注:仅出于教学目的,我们创建了一个名为 open_folder() 的函数来为您打开目录文件夹。您只需运行下面的代码并查看 csv 文件的存储位置。您应该看到一个名为 table_car.csv 的文件,用于将数据 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) 您需要在 R 中安装 rjava。我们建议您使用 Anaconda 安装 R 和 Rstudio。Anaconda 管理库之间的依赖关系。从这个意义上说,Anaconda 将处理 r 的复杂性Java 安装。
首先,你需要更新 conda,然后安装 图书馆。您可以在终端中复制并粘贴接下来的两行代码。
conda - conda update conda install -c r r-rjava
接下来,在 Rstudio 中打开 rjava
library(rJava)
步骤3) 最后,是时候安装 xlsx 了。你可以再次使用 康达 去做吧:
conda install -c r r-xlsx
与 Windows 用户一样,您可以使用 write.xlsx() 函数保存数据
library(xlsx)
输出:
## Loading required package: xlsxjars
write.xlsx(df, "table_car.xlsx")
将数据从 R 导出到不同的软件
将数据导出到不同的软件就像导入数据一样简单。库“haven”提供了一种方便的方式将数据导出到
- s
- SAS
- 到过
首先,导入库。如果你没有“haven”,你可以去 点击这里 安装它。
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
如果您想保存数据框或任何其他 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.
该库在 Anaconda 上尚不可用。您可以在控制台中使用以下代码进行安装。
install.packages("googledrive")
然后你打开图书馆。
library(googledrive)
对于非 conda 用户来说,安装库很容易,您可以使用函数 install.packages('NAME OF PACKAGE),并在括号内输入包的名称。不要忘记 ' '。请注意,R 应该自动将包安装在 `libPaths() 中。值得一看它的实际效果。
上载到 Google Drive
要将文件上传到 Google Drive,您需要使用函数 drive_upload()。
每次重新启动 Rstudio 时,系统都会提示您允许访问 tidyverse 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")
输出:
## Local file: ## * table_car.csv ## uploaded into Drive file: ## * table_car: 1hwb57eT-9qSgDHt9CrVt5Ht7RHogQaMk ## with MIME type: ## * text/csv
您在控制台中输入 1 来确认访问
然后,您将被重定向到 Google API 以允许访问。单击允许。
身份验证完成后,您可以退出浏览器。
在 Rstudio 的控制台中,您可以看到已完成步骤的摘要。Google 已成功上传位于 Drive 本地的文件。Google 为 Drive 中的每个文件分配了一个 ID。
您可以在 Google Spreadsheet.
drive_browse("table_car")
输出:
您将被重定向到 Google Spreadsheet
进口于 Google Drive
上传文件 Google Drive 使用 ID 很方便。如果你知道文件名,你可以按如下方式获取其 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:如果文件存在,则覆盖它,否则执行停止要本地查看文件的名称,可以使用:
输出:
该文件存储在您的工作目录中。请记住,您需要添加文件的扩展名才能在 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
输出:
## 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()
输出:
这是一个缓慢的过程。删除需要时间
输出到 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')
输出:
掉落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")
输出:
下降时Box
您可以从以下位置读取 csv 文件 Dropbox 使用函数 drop_read_csv()
dropbox_table_car <-drop_read_csv("my_first_drop/table_car.csv") dropbox_table_car
输出:
## 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')
输出:
也可以删除文件夹
drop_delete('my_first_drop')
输出:
总结
我们可以在下表中总结所有功能
自学资料库 | 目的 | 功能 |
---|---|---|
基地 | 导出 csv | 写入.csv() |
XLSX | 导出 Excel | 写.xlsx() |
避风港 | 导出 spss | 写入_sav() |
避风港 | 导出 sas | 写入_sas() |
避风港 | 导出统计数据 | 写入数据() |
基地 | 出口R | 保存() |
谷歌驱动器 | 上传 Google Drive | 驱动器上传() |
谷歌驱动器 | 在打开 Google Drive | drive_browse() |
谷歌驱动器 | 检索文件 ID | drive_get(as_id()) |
谷歌驱动器 | 下载自 Google Drive | 下载_google() |
谷歌驱动器 | 移除文件 Google Drive | 驱动器_rm() |
rdrop2 | 认证 | drop_auth() |
rdrop2 | 建立资料夹 | drop_create() |
rdrop2 | 上载到 Dropbox | 删除上传() |
rdrop2 | 读取 csv Dropbox | 删除读取csv |
rdrop2 | 从中删除文件 Dropbox | 删除() |