拓展资源

持续学习与进阶参考

官方文档

R官方文档

  • R语言官方网站
  • 下载与安装指南
  • 新闻与更新

Posit (原RStudio)

  • RStudio IDE下载
  • 商业版功能介绍
  • 云端服务

Quarto

  • 下一代科学出版系统
  • 官方文档与教程
  • 丰富的示例库

R Markdown

  • R Markdown官方指南
  • 示例库
  • 扩展包介绍

经典教材

R语言基础

书名 作者 说明
R数据科学 Hadley Wickham tidyverse权威指南,必读,在线免费阅读
R语言实战 Robert Kabacoff 全面系统,适合入门
Advanced R Hadley Wickham 进阶必读书,在线免费阅读
Efficient R Programming Colin Gillespie 高效编程技巧

R Markdown与报告

书名 作者 说明
R Markdown Cookbook Yihui Xie 等 实用技巧大全,在线免费阅读
R Markdown: The Definitive Guide Yihui Xie 等 在线免费阅读
bookdown Yihui Xie 撰写书籍和文档,在线免费阅读
Quarto指南 Posit团队 现代报告工具,官方文档

生物信息学

书名 作者 说明
Bioconductor案例分析 多位作者 生信实战
Bioinformatics with R Robert Gentleman Bioconductor基础
Modern Statistics for Modern Biology Holmes & Huber 现代统计方法,在线免费阅读

在线课程

中文资源

英文资源


关键R包

数据科学

包名 用途 学习资源
tidyverse 数据科学全家桶 R4DS
dplyr 数据处理 dplyr教程
ggplot2 数据可视化 ggplot2书
tidyr 数据整理 tidyr教程
readr 数据读取 readr教程
stringr 字符串处理 stringr教程
lubridate 日期时间 lubridate教程

生物信息学

包名 用途 来源
Biostrings 序列分析 Bioconductor
GenomicRanges 基因组区间 Bioconductor
DESeq2 RNA-seq差异分析 Bioconductor
edgeR RNA-seq分析 Bioconductor
limma 微阵列/RNA-seq Bioconductor
ComplexHeatmap 热图绘制 Bioconductor
clusterProfiler 富集分析 Bioconductor

报告与文档

包名 用途
rmarkdown 动态报告
knitr 代码编织
bookdown 撰写书籍
flexdashboard 数据看板
DT 交互式表格
plotly 交互式图表
htmlwidgets HTML交互组件

工具与软件

R环境

版本控制

LaTeX


社区与论坛


速查表

R基础速查

# 帮助
?function        # 查看函数帮助
??keyword       # 搜索关键词
example(func)   # 运行示例

# 数据结构
vector <- c(1, 2, 3)
matrix <- matrix(1:9, nrow = 3)
df <- data.frame(x = 1:3, y = c("a", "b", "c"))
list <- list(a = 1, b = "text")

# 索引
x[1]            # 第一个元素
x[c(1, 3)]      # 第1和第3个
df$column       # 列访问
df[row, col]    # 行列访问

# 常用函数
length(x)       # 长度
dim(df)         # 维度
str(df)         # 结构
summary(df)     # 摘要

dplyr速查

# 核心动词
df |> filter(x > 5)           # 筛选
df |> select(x, y)            # 选择列
df |> mutate(z = x + y)       # 新建列
df |> summarise(mean_x = mean(x))  # 汇总
df |> group_by(category)      # 分组

# 数据整合
df1 |> left_join(df2, by = "id")   # 左连接
inner_join / full_join / anti_join  # 其他连接

# 数据整理
df |> arrange(desc(x))        # 排序
df |> distinct()              # 去重
df |> slice(1:10)             # 切片
df |> sample_n(100)           # 随机抽样

ggplot2速查

# 基本语法
ggplot(data, aes(x = xvar, y = yvar)) +
  geom_point() +               # 散点
  geom_line() +                # 线图
  geom_bar() +                 # 柱状图
  geom_histogram() +           # 直方图
  geom_boxplot() +             # 箱线图
  theme_bw()                   # 主题

# 常用aes
aes(color = group)             # 颜色映射
aes(fill = group)              # 填充映射
(aes(size = value))            # 大小映射
(aes(shape = type))            # 形状映射

# 标度与主题
scale_color_manual()           # 自定义颜色
theme_minimal()                # 简约主题
labs(title = "", x = "")       # 标签
facet_wrap(~group)             # 分面

学习建议

初学者路径

  1. 第1-2周:R基础语法与数据结构
  2. 第3-4周:tidyverse数据处理
  3. 第5-6周:ggplot2可视化
  4. 第7-8周:R Markdown报告编写

进阶路径

  1. 学习函数式编程(purrr)
  2. 掌握性能优化技巧
  3. 学习R包开发
  4. 深入了解S3/S4面向对象

实践建议

  • 每天写代码,保持手感
  • 阅读优秀项目的源码
  • 参与开源项目
  • 记录学习笔记(用R Markdown!)

贡献与反馈

发现错误或有建议?欢迎通过以下方式联系:


持续学习,永不止步! 📚✨