使用readr进行数据导入
本文将介绍如何使用readr包
将平面文件加载到 R 中,readr 也是 tidyverse 的核心 R包之一。
基本函数
函数 | 功能 |
read_csv | 读取逗号分隔文件 |
read_csv2 | 读取分号分隔文件 |
read_tsv | 读取制表符分隔文件 |
read_delim | 读取使用任意分隔符的文件 |
read_fwf | 读取固定宽度的文件 |
read_table | 读取空白字符来分隔各列分隔符的文件 |
read_log | 读取Apache 风格的日志文件,需要安装webreadr包 |
这些函数都具有同样的语法,可以举一反三。我们将重点介绍
read_csv()
函数,不仅因为 CSV 文件是数据存储最常用的形式之一,还因为一旦掌握 read_csv() 函数,你就可以将从中学到的知识非常轻松地应用于 readr 的其他函数。
read_csv()函数中包含的参数如下:
read_csv( file, col_names = TRUE, col_types = NULL, locale = default_locale(), na = c("", "NA"), quoted_na = TRUE, quote = "\"", comment = "", trim_ws = TRUE, skip = 0, n_max = Inf, guess_max = min(1000, n_max), progress = show_progress(), skip_empty_rows = TRUE )
下面介绍各个参数的作用:
参数 | 作用 |
file | 读取的文件路径,路径名需要用反斜杠表示 |
col_names | 如果为TRUE,输入的第一行将被用作列名,并且不会包含在数据帧中。 如果为FALSE,将自动生成列名:X1, X2, X3等。 如果col_names是一个字符向量,这些值将被用作列的名称,并且输入的第一行将被读入输出数据帧的第一行。 缺少(NA)列名将产生一个警告,并被填充为哑名X1, X2等。重复的列名将生成警告,并使用数字后缀使其惟一。 |
col_types | 设置类变量的类型 |
locale | 区域设置控制的默认值因地方而异。默认的区域设置是以美国为中心的(如R),但您可以使用locale()创建自己的区域设置,控制默认时区、编码、十进制标记、大标记和日/月名称等内容。 |
na | 字符串的字符向量,解释为缺少的值。将此选项设置为character(),以指示没有丢失的值。 |
quoted_na | 是否引号内缺少的值应该被视为缺少的值(默认)或字符串 |
comment | 用于标识注释的字符串 |
trim_ws | 在解析每个字段之前,是否应该修剪其前导和尾随空格? |
skip | 读取数据之前要跳过的行数。 |
n_max | 要读取的最大记录数。 |
guess_max | 用于猜测列类型的最大记录数 |
progress | 显示进度条 |
skip_empty_rows | 是否忽略空白行 |
如果能够熟练使用read_csv()
函数,就能同样使用readr包中的其他函数来读取文件了,因为所含参数都是大致相同的,这里我们给出常用的两个例子。
读取外部数据
city <- read_csv("C:/Users/Administrator/Desktop/data.csv")
保存到外部文件
city <- write_csv("C:/Users/Administrator/Desktop/data.csv")