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")
相关推荐
課代表18 小时前
Python 数据可视化:从单变量到多变量
开发语言·python·信息可视化·数据分析·变量·时间序列·文本分析
Dev7z18 小时前
基于YOLO11的车辆品牌与类型识别系统设计与实现(数据集+UI界面+训练代码+数据分析)
数据挖掘·数据分析·yolov11·车型分类
程序员洲洲20 小时前
利用海外NetNut网络代理爬取亚马逊“感恩节”相关商品数据分析
数据挖掘·数据分析·netnut
杜子不疼.1 天前
计算机视觉热门模型手册:Faster R-CNN / YOLO / SAM 技术原理 + 应用场景对比
人工智能·计算机视觉·r语言·cnn
Davina_yu1 天前
Windows 下升级 R 语言至最新版
开发语言·windows·r语言
sensen_kiss1 天前
INT303 Big Data Analysis 大数据分析 Pt.11 模型选择和词向量(Word Embeddings)
大数据·数据挖掘·数据分析
laocooon5238578861 天前
数据收集, 数据清洗,数据分析,然后可视化,都涉及哪些知识
数据挖掘·数据分析
企业智能研究1 天前
什么是数据治理?数据治理对企业有什么用?
大数据·人工智能·数据分析·agent
逻极1 天前
数据分析项目:Pandas + SQLAlchemy,从数据库到DataFrame的丝滑实战
python·mysql·数据分析·pandas·sqlalchemy
醉卧考场君莫笑1 天前
数据分析常用方法:上
数据挖掘·数据分析