riopoly matlab,rio极简数据导入教程

rio 包的目的是使得数据导入尽可能的简单化。

import() 函数提供了一个非常舒服的可以自动导入数据集的体验,它可以根据数据集的特征自动选择import或者read的函数,并且也支持指定格式的导入。

import_list()支持‘multi-object’文件的导入,例如:(Excel workbook, .Rdata files, zip directory, or HTML file)

export() 函数使得数据的导出非常简单。

示例

这里有一些示例包括:读入,写出,转换。

写出

主要由export()函数完成

library("rio")

export(mtcars, "mtcars.csv") # comma-separated values

export(mtcars, "mtcars.rds") # R serialized

export(mtcars, "mtcars.sav") # SPSS

并且rio包的export函数支持将数据保存为压缩格式的文件

export(mtcars, "mtcars.tsv.zip")

export() 函数同样可以保存多个数据库为一个文件,例如Excel 文件

export(list(mtcars = mtcars, iris = iris), file = "mtcars.xlsx")

写入

主要由import()来完成

x

y

z

# confirm data match

all.equal(x, y, check.attributes = FALSE)

## [1] TRUE

all.equal(x, z, check.attributes = FALSE)

## [1] TRUE

现在rio包支持读取multi object的文件例如(Excel workbook, .Rdata file, zip directory, or HTML file)

str(m

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

将multi object文件保存

export_list(m, "%s.tsv")

## Error in export_list(m, "%s.tsv"): could not find function "export_list"

c("mtcars.tsv", "iris.tsv") %in% dir()

## [1] FALSE FALSE

转换

convert() 函数将 import() 函数和export() 函数合二为一,可以实时的读取文件同时将它保存。

convert("mtcars.sav", "mtcars.dta")

同样可以在命令行中直接读取 Stata (.dta) ,并将它转化保存为(.csv),

Rscript -e "rio::convert('iris.dta', 'iris.csv')"

支持的文件类型,如下所示

install_formats()

Format

Typical Extension

Import Package

Export Package

Installed by Default

Comma-separated data

.csv

Yes

Pipe-separated data

.psv

Yes

Tab-separated data

.tsv

Yes

CSVY (CSV + YAML metadata header)

.csvy

Yes

SAS

.sas7bdat

Yes

SPSS

.sav

Yes

Stata

.dta

Yes

SAS XPORT

.xpt

Yes

SPSS Portable

.por

Yes

Excel

.xls

Yes

R syntax

.R

base

base

Yes

Saved R objects

.RData, .rda

base

base

Yes

Serialized R objects

.rds

base

base

Yes

Epiinfo

.rec

Yes

Minitab

.mtp

Yes

Systat

.syd

Yes

"XBASE" database files

.dbf

Yes

Weka Attribute-Relation File Format

.arff

Yes

Data Interchange Format

.dif

utils

Yes

Fortran data

no recognized extension

utils

Yes

Fixed-width format data

.fwf

utils

utils

Yes

gzip comma-separated data

.csv.gz

utils

utils

Yes

Apache Arrow (Parquet)

.parquet

No

EViews

.wf1

No

Feather R/Python interchange format

.feather

No

Fast Storage

.fst

No

Matlab

.mat

No

OpenDocument Spreadsheet

.ods

No

HTML Tables

.html

No

Shallow XML documents

.xml

No

YAML

.yml

No

Clipboard

default is tsv

No

as Comma-separated data

Graphpad Prism

.pzfx

No

如果是rio包无法识别的文件类型,则会返回下列的报错:"Unrecognized file format"

安装rio包

经典版本

install.packages("rio")

install_formats()

最近版本:

if (!require("remotes")){

install.packages("remotes")

}

remotes::install_github("leeper/rio")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值