基础篇 03

R语言数据读取函数全解析

掌握普适规律,轻松应对各种数据格式

📚
学习提示: 本教程内容仅供学习参考,实际应用时请结合具体数据和场景进行调整。 代码和方法可能需要根据实际情况进行修改。
📂

在R语言中操作的数据常见格式包括 txt、csv、xlsx 等。 掌握基本的数据读取函数是数据分析的第一步。本文将介绍各种读取函数的使用方法和选择建议。

1. 基础读取函数

read.table() - 读取txt格式

read.table(file,
           header = FALSE,    # 通常设置为TRUE,表示第一行是列名
           sep = "",          # 分隔符:空格、\t、逗号等
           na.strings = c("-9", "?"),  # 将这些值转换为NA
           skip = 0)          # 跳过的行数

核心参数说明

参数 说明
header 数据是否有列名,通常设为TRUE
sep 数据分隔符(空格、逗号等)
na.strings 指定哪些字符代表缺失值
skip 读取前跳过多少行

read.csv() - 读取csv格式

read.csv(file, header = TRUE, sep = ",")
read.csv2(file, header = TRUE, sep = ";")  # 欧洲格式,分号分隔

📌 注意read.csv() 读取逗号分隔文件,read.csv2() 读取分号分隔文件(欧洲常用)。

2. readxl包 - 读取Excel文件

readxl 包是 tidyverse 的一员,专门用于导入 Excel 文件。

# 安装与加载
install.packages("readxl")
library(readxl)

# 最简单的写法
read_excel("文件名.xlsx")

# 完整参数
read_excel(path, 
           sheet = NULL,      # 工作表名称或索引
           range = NULL,      # 读取的数据范围
           col_names = TRUE,  # 第一行是否作为列名
           skip = 0)          # 跳过开头的行数

💡 提示:readxl 支持 .xls 和 .xlsx 两种格式,自动识别!

3. data.table包 - 读取大文件

当文件太大时,read.csv() 会非常消耗内存和时间。fread() 函数可以大大提高读取速度。

library(data.table)
data <- fread("大文件.csv", 
              sep = ",", 
              header = TRUE, 
              na.strings = c("NA"))

读取速度极快

💾

内存占用低

🔍

自动检测分隔符

4. readr包 - 现代化数据读取

readr 包是 tidyverse 的核心包之一,相比基础包有以下优点:

1. 读取速度更快
2. 生成 tibble 类型
3. 不会把字符转换成因子
4. 不会随意改动列名称

主要函数

函数 用途
read_csv() 读取逗号分隔文件
read_tsv() 读取制表符分隔文件
read_delim() 读取任意分隔符文件
read_table() 替代 read.table()

5. 函数选择速查表

场景 推荐函数
小型 txt 文件 read.table()
csv 文件 read_csv()
Excel 文件 read_excel()
大文件(>100MB) fread()
特殊格式数据 对应专业包(如Seurat)

📝 总结

✅ 核心要点

  • • 基础函数:read.table / read.csv
  • • Excel文件:readxl 包
  • • 大文件:data.table 的 fread
  • • 现代化:readr 包

💡 记住

读取函数的本质是读取数据,只需输入文件名,函数大概率会运行。遇到问题时查阅帮助文档 ?函数名 即可。