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")
相关推荐
IT毕设梦工厂1 天前
大数据毕业设计选题推荐-基于大数据的客户购物订单数据分析与可视化系统-Hadoop-Spark-数据可视化-BigData
大数据·hadoop·数据分析·spark·毕业设计·源码·bigdata
大数据CLUB1 天前
基于spark的澳洲光伏发电站选址预测
大数据·hadoop·分布式·数据分析·spark·数据开发
智数研析社1 天前
9120 部 TMDb 高分电影数据集 | 7 列全维度指标 (评分 / 热度 / 剧情)+API 权威源 | 电影趋势分析 / 推荐系统 / NLP 建模用
大数据·人工智能·python·深度学习·数据分析·数据集·数据清洗
qingyunliushuiyu1 天前
BI数据可视化:驱动数据价值释放的关键引擎
数据挖掘·数据分析·数据分析系统·数据分析平台·bi数据可视化
折翼的恶魔2 天前
数据分析:排序
python·数据分析·pandas
数据牧羊人的成长笔记2 天前
数据分析需要掌握的数学知识(易理解)
数学建模·数据分析
折翼的恶魔2 天前
数据分析:合并二
python·数据分析·pandas
czhc11400756632 天前
LINUX913 shell:set ip [lindex $argv 0],\r,send_user,spawn ssh root@ip “cat “
tcp/ip·r语言·ssh
zhangfeng11332 天前
win7 R 4.4.0和RStudio1.25的版本兼容性以及系统区域设置有关 导致Plots绘图面板被禁用,但是单独页面显示
开发语言·人工智能·r语言·生物信息