R语言tidyverse教程:1 readr

文章目录

简介

用于文件读写,其中用于数据读取的函数如下表

读取文件类型
read_csv() 逗号分隔文件
read_csv2() 分号分隔文件
read_tsv() 制表符分隔文件
read_delim() 任意分隔符的文件
read_fwf() 固定宽度的文件
read_table() 使用空白字符来分隔各列
read_log() 网络日志文件

这些函数的功能都很单一,其实想专门找一些对应格式的数据练习还是挺不容易的,但readr似乎也考虑到了这一点,故而提供了一系列的测试数据,可通过readr_example函数获取其路径。

直接输出readr_example()可以返回所有可用的测试数据

> library(readr)
> cat(readr_example())
challenge.csv chickens.csv epa78.txt example.log fwf-sample.txt massey-rating.txt mini-gapminder-africa.csv mini-gapminder-americas.csv mini-gapminder-asia.csv mini-gapminder-europe.csv mini-gapminder-oceania.csv mtcars.csv mtcars.csv.bz2 mtcars.csv.zip whitespace-sample.txt
# readr_example中输入测试文件名,可返回路径
> path <- readr_example("chickens.csv")
> cat(path)
D:/CS/R-4.2.2/library/readr/extdata/chickens.csv

read_csv

有了路径,就能以chickens为例,来演示一下read_csv的功能

> chickens<-read_csv(path)

点击右上角Environment中的chickens,可得到其数据内容为

chicken sex eggs_laid motto
1 Foghorn Leghorn rooster 0 That’s a joke, ah say, that’s a joke, son.
2 Chicken Little hen 3 The sky is falling!
3 Ginger hen 12 Listen. We’ll either die free chickens or we die trying.
4 Camilla the Chicken hen 7 Bawk, buck, ba-gawk.
5 Ernie The Giant Chicken rooster 0 Put Captain Solo in the cargo hold.

read_log

上面的函数列表中,除了网络日志之外,对其他函数处理的数据格式描述得十分清晰,为了了解log格式到底是什么样的,可以打开示例文件夹中的example.log文件,其内容为

172.21.13.45 - Microsoft\JohnDoe [08/Apr/2001:17:39:04 -0800] "GET /scripts/iisadmin/ism.dll?http/serv HTTP/1.0" 200 3401
127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326

通过read_log将其打开

> webLog <- read_log(readr_example("example.log"))

── Column specification ──────────────────────────────────────────────────────────────
cols(
  X1 = col_character(),
  X2 = col_logical(),
  X3 = col_character(),
  X4 = col_character(),
  X5 = col_character(),
  X6 = col_double(),
  X7 = col_double()
)

可得到其数据为

~ X1 X2 X3 X4 X5 X6 X7
1 172.21.13.45 NA Microsoft\JohnDoe 08/Apr/2001:17:39:04 -0800 GET /scripts/iisadmin/ism.dll?http/serv HTTP/1.0 200 3401
2 127.0.0.1 NA frank 10/Oct/2000:13:55:36 -0700 GET /apache_pb.gif HTTP/1.0 200 2326

猜你喜欢

转载自blog.csdn.net/m0_37816922/article/details/129718225
今日推荐