R语言:使用 readr 包进行数据导入和解析

readr 包是 R 语言中专门用于读取和写入各种格式数据文件的工具包。本文将总结 readr 包的常见数据文件类型、获取/修改工作路径的方法,以及数据的读取与写入功能,最后还会介绍一些解析函数的用法。

1. 常见数据文件类型

readr 包支持多种常见的数据文件类型:

  • CSV(Comma-Separated Values)文件:以逗号作为分隔符的文件。
  • TSV(Tab-Separated Values)文件:以制表符作为分隔符的文件。
  • TXT文件:文本文件,数据可以用逗号或其他字符作为分隔符。
  • Excel 文件(xls 和 xlsx) :需要加载 readxl 包来读取 Excel 文件。
  • RDS文件:R 数据文件,适用于保存 R 中的对象。
2. 获取/修改工作路径

在 R 中,工作路径(working directory)是当前 R 会话操作文件的默认位置。我们可以使用以下函数获取或修改工作路径:

r 复制代码
# 获取当前工作路径
getwd()

# 设置新的工作路径
setwd("/path/to/your/directory")

也可以通过 RStudio 界面来设置工作路径:

  • Session -> Set Working Directory -> Choose Directory
  • 修改全局设定:Tools -> Global Options -> Default working directory
3. 数据读取与写入

readr 包提供了多种函数来读取和写入不同类型的数据文件。下面是一些常用的函数:

读取CSV文件

r 复制代码
library(readr)

# 读取 CSV 文件
data <- read_csv("data.csv")

# 常用参数
data <- read_csv("data.csv", show_col_types = TRUE, skip = 2, comment = "#", col_names = c("Column1", "Column2"), na = "NA", col_types = cols(
  Column1 = col_double(),
  Column2 = col_character()
))

写入CSV文件

r 复制代码
# 写入 CSV 文件
write_csv(data, "output.csv")

其他读取函数

r 复制代码
# 读取分隔符为 ";" 的 CSV 文件
data_csv2 <- read_csv2("data_csv2.csv")

# 读取 TSV 文件
data_tsv <- read_tsv("data.tsv")

# 读取自定义分隔符文件
data_delim <- read_delim("data.txt", delim = "|")

# 读取固定宽度文件
data_fwf <- read_fwf("data.fwf")

# 读取表格文件
data_table <- read_table("data.txt")

# 读取日志文件
data_log <- read_log("log.txt")

# 读取 RDS 文件
data_rds <- read_rds("data.rds")

读取 Excel 文件

需要加载 readxl 包:

r 复制代码
library(readxl)

# 读取 Excel 文件
data_excel <- read_excel("data.xlsx")

写入 RDS 文件

r 复制代码
# 写入 RDS 文件
write_rds(data, "output.rds")
4. 解析函数

解析函数用于将字符向量解析为其他类型的数据。readr 提供了一些常用的解析函数:

r 复制代码
# 解析整数
parse_integer("123")

# 解析双精度数
parse_double("123.45")

# 解析数字,忽略非数字字符
parse_number("$123,456.78")
相关推荐
地球资源数据云1 小时前
【免费下载】中国5米分辨率坡度数据
数据分析·数据集·遥感数据
weixin_462446232 小时前
PaddleX 3.2 人脸识别实战:自定义人脸库 + CartoonFace 官方案例 Top-K 识别完整指南
开发语言·r语言
Tiger Z3 小时前
《R for Data Science (2e)》免费中文翻译 (第19章) --- Joins(1)
r语言·编程·数据科学
Aloudata3 小时前
数据工程新范式:NoETL 语义编织如何激活海量埋点数据价值?
数据挖掘·数据分析·etl·指标平台
Tiger Z3 小时前
《R for Data Science (2e)》免费中文翻译 (第18章) --- Missing values
开发语言·r语言
老吴学AI4 小时前
第 2 节 | 从“呈现数据“到“驱动决策“:数据故事的力量
数据分析·数据可视化·excel教程·数据故事·职场技巧·业务洞察·报告编写
带我去滑雪6 小时前
R语言抑郁症状网络分析
r语言
EveryPossible6 小时前
大数据分析练习2
数据挖掘·数据分析
Aloudata6 小时前
数据工程新范式:NoETL 统一语义层破解跨境电商 ROI 统筹与数据孤岛难题
数据分析·etl·指标平台·数据编织
Aloudata7 小时前
数据工程决策:自研 vs 采购 NoETL 自动化指标平台的深度分析
数据分析·数据治理·etl·指标平台