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")
相关推荐
三兔测序学社7 小时前
【零代码生信分析】RNA-seq中级分析8-差异基因集在L2S2网站进行【肿瘤药物】筛选分析
数据分析
追风少年ii14 小时前
六大空间转录组平台全面对比:Visium、Visium HD、Stereo-seq、Xenium、Atera 与 CosMx
数据分析·空间·单细胞
roman_日积跬步-终至千里16 小时前
【数据建模入门】从一家小店看懂数仓与机器学习:先理业务,再串技术
数据仓库·人工智能·机器学习·数据分析·数据建模
钱工的门窗技术笔记1 天前
室内极窄全景移门的支承路径与预留接口:轨道形式、型材壁厚口径与验收边界
物联网·架构·数据分析
quantdash_cc1 天前
如何验证历史行情的交易日期是否完整覆盖研究区间?
python·数据分析·pandas·量化交易·股票数据·quantdash
quantdash_cc1 天前
ETF 行情数据清洗实战:字段语义拆解、标的池整理与五个校验清单
python·数据分析·pandas·量化交易·股票数据·quantdash
Leo.yuan2 天前
2026年可信AI数据分析平台研究:主流厂商的可信机制、能力边界与企业选型
人工智能·数据挖掘·数据分析
Highcharts.js2 天前
CSUN 2026|Highcharts无障碍数据与AI分享
javascript·人工智能·数据分析·highcharts·图表开发
梯度下降者2 天前
零基础入门Python 爬虫
爬虫·python·数据分析·入门指南·webcrawler
benchmark_cc2 天前
用 Python 拉 A 股全市场实时快照:Notebook 请求、结果校验与易错点
python·数据分析·pandas·量化交易·股票数据·quantdash