目录
R语言第一章数据处理基础①读取EXEL表格数据
R语言在读取Exel数据上表现不太好,虽然也有一些不错的包,但是体验很差,所以我个人一般都是把Exel转化成csv或者txt来读取,而现在可以在CRAN上使用readxl 1.2.0。 在http://readxl.tidyverse.org上了解有关readxl的更多信息。
readxl软件包可以很容易地从Excel文件中获取表格数据,并使用代码而不是鼠标点击来获取R。 它支持.xls格式和基于XML的.xlsx格式。 readxl易于在所有操作系统上安装和使用。 因此,它没有外部依赖,例如Java或Perl,其中一些R包读取Excel文件。
安装
从CRAN安装最新版本的最简单方法是安装整个tidyverse。
# install.packages("readxl")library(readxl)
主要参数:
读取实例,根据sheet或者sheetname读取
setwd('D:/R.Rstudio/R/R-3.5.1/library/readxl/extdata') xls_eg <- read_excel("datasets.xls") xls_eg xls_iris <- read_excel("datasets.xls", sheet =1) xls_iris
只读取其中部分列
xls_iris <- read_excel("datasets.xls", sheet =1,range = cell_cols("B:D")) xls_iris
只读取其中部分行
xls_iris <- read_excel("datasets.xls", sheet =1,n_max = 5)xls_iris
只读取其中部分内容
xls_iris <- read_excel("datasets.xls", sheet =1,range = "A1:C5") xls_iris
是否将第一行作为列名
xls_iris <- read_excel("datasets.xls", sheet =1,col_names = FALSE,n_max = 5) xls_iris xls_iris <- read_excel("datasets.xls", sheet =1, n_max = 5,col_names = c("x1","x2","x3","x4","y")) xls_iris
设置列数据类型参数
xls_iris <- read_excel("datasets.xls", sheet =1, n_max = 5,col_types = c("numeric","numeric","numeric","numeric","text")) xls_iris
.name_repair函数
.name_repair是传递col_names更灵活的方法。 您可以通过两种主要方式表达您想要的内容:
修改列名,作为一个函数,它接收原列名并返回新名称:
以下是指定.name_repair的两个示例。
## pass custom function to implement "lower_snake_case"my_custom_name_repair <- function(nms) tolower(gsub("[.]", "_", nms))read_excel( readxl_example("datasets.xlsx"), n_max = 3, .name_repair = my_custom_name_repair )read_excel( readxl_example("datasets.xlsx"), sheet = "chickwts", n_max = 3, .name_repair = ~ substr(.x, start = 1, stop = 3))# A tibble: 3 x 5 Sepal.Length Sepal.Width Petal.Length Petal.Width Species <dbl> <dbl> <dbl> <dbl> <chr> 1 5.1 3.5 1.4 0.2 setosa 2 4.9 3 1.4 0.2 setosa 3 4.7 3.2 1.3 0.2 setosa # A tibble: 3 x 2 weight feed <dbl> <chr> 1 179 horsebean2 160 horsebean3 136 horsebean
作者:赛乾
链接:https://www.jianshu.com/p/00ca39f2503c
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦