如何将数据从 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 导出到 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.

该库在 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 Drive

然后,您将被重定向到 Google API 以允许访问。单击允许。

Google Drive

身份验证完成后,您可以退出浏览器。

Google Drive

在 Rstudio 的控制台中,您可以看到已完成步骤的摘要。Google 已成功上传位于 Drive 本地的文件。Google 为 Drive 中的每个文件分配了一个 ID。

Google Drive

您可以在 Google Spreadsheet.

drive_browse("table_car")

输出:

您将被重定向到 Google Spreadsheet

Google Drive

进口于 Google Drive

上传文件 Google Drive 使用 ID 很方便。如果你知道文件名,你可以按如下方式获取其 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:如果文件存在,则覆盖它,否则执行停止要本地查看文件的名称,可以使用:

输出:

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

输出:

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

输出:

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

输出:

输出到 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")

输出:

输出到 Dropbox

下降时Box

输出到 Dropbox

您可以从以下位置读取 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')

输出:

输出到 Dropbox

也可以删除文件夹

drop_delete('my_first_drop')

输出:

输出到 Dropbox

总结

我们可以在下表中总结所有功能

自学资料库 目的 功能
基地 导出 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 删除()