用rio包进行数据导出
2019-10-01 本文已影响0人
新云旧雨
笔记说明
数据导入利器——rio包中记录了rio包的数据导入功能,本次笔记记录rio包的数据导出功能。
主要参考:https://cran.r-project.org/web/packages/rio/vignettes/rio.html#data_export
进行导出数据操作前的准备工作
mlti.xlsx文件中有两个sheet,分别存有mtcars数据和iris数据
library(rio)
multi <- import_list("data/multi.xlsx")
str(multi)
## List of 2
## $ mtcars:'data.frame': 32 obs. of 11 variables:
## ..$ mpg : num [1:32] 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
## ..$ cyl : num [1:32] 6 6 4 6 8 6 8 4 4 6 ...
## ..$ disp: num [1:32] 160 160 108 258 360 ...
## ..$ hp : num [1:32] 110 110 93 110 175 105 245 62 95 123 ...
## ..$ drat: num [1:32] 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
## ..$ wt : num [1:32] 2.62 2.88 2.32 3.21 3.44 ...
## ..$ qsec: num [1:32] 16.5 17 18.6 19.4 17 ...
## ..$ vs : num [1:32] 0 0 1 1 0 1 0 1 1 1 ...
## ..$ am : num [1:32] 1 1 1 0 0 0 0 0 0 0 ...
## ..$ gear: num [1:32] 4 4 4 3 3 3 3 4 4 4 ...
## ..$ carb: num [1:32] 4 4 1 1 2 1 4 2 2 4 ...
## $ iris :'data.frame': 150 obs. of 5 variables:
## ..$ Sepal.Length: num [1:150] 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
## ..$ Sepal.Width : num [1:150] 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
## ..$ Petal.Length: num [1:150] 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
## ..$ Petal.Width : num [1:150] 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
## ..$ Species : chr [1:150] "setosa" "setosa" "setosa" "setosa" ...
生成两个dataframe
mtcars <- multi$mtcars
iris <- multi$iris
rio包的数据导出功能
用rio包的export()
将数据导出。需要提供两个参数:想要导出的数据文件名和导出路径。
rio包的数据导出功能相比其数据导入功能而言比较局限,目前(2019.10.1)支持以下导出格式:
export(mtcars, "data/export/mtcars.csv")
export(mtcars, "data/export/mtcars.rds")
export(mtcars, "data/export/mtcars.dta")
另外导出为Excel文件也可以实现,但可能需要额外进行一些设置(一次性设置后就可以了)。因为我的电脑上直接可以实现,额外设置的操作就不在此记录了,可以参见:https://b-rodrigues.github.io/modern_R/reading-and-writing-data.html#the-swiss-army-knife-of-data-import-and-export-rio
export(mtcars, "data/export/mtcars.xlsx")
有一些格式的文件(如Excel, Rdata files)支持一个数据文件里包含多个数据对象,export()
也支持将多个数据集导出只这些格式的文件:
export(list(mtcars = mtcars, iris = iris), "data/export/multi.xlsx")
export(c("mtcars", "iris"), "data/export/multi.rdata")
rdata文件的使用:
load("data/export/multi.rdata")