R语言在生物信息学中的应用
2026-03-19
数据科学是利用编程、统计和专业知识从数据中提取价值的学科
目的不是培养程序员,而是用数据推动学科发展
1992年,新西兰奥克兰大学 Ross Ihaka 和 Robert Gentleman 开发了R语言

2019年荣获考普斯总统奖(统计学诺贝尔奖)
tidyverse官网:https://www.tidyverse.org/
① 安装R
② 安装RStudio
RStudio四大面板
┌──────────────┬──────────────┐
│ 源代码 │ 环境/历史 │
│ (脚本编辑) │ (变量查看) │
├──────────────┼──────────────┤
│ 控制台 │ 文件/图形/ │
│ (命令输入) │ 包/帮助 │
└──────────────┴──────────────┘

在R中存储的数据称为对象(object),R语言数据处理就是不断创建和操控这些对象
使用赋值操作符
<-或=将数据赋值给变量
向量(vector)是R最基础的数据类型,元素类型统一,用
c()创建
因子是带有层级(Levels)的字符串向量,用于表示分类变量
向量元素必须是同一类型,若类型不同,R自动转换(强制转换)
character > numeric > logical
double > integer
| 数据结构 | 维度 | 元素类型 | 适用场景 |
|---|---|---|---|
vector |
1维 | 统一 | 单列数据、序列 |
matrix |
2维 | 统一 | 基因表达矩阵 |
list |
任意 | 混合 | 分析结果集合 |
data.frame |
2维 | 混合 | 临床数据表格 |
💡 矩阵、列表、数据框都可以看作向量的衍生结构
矩阵是二维的向量,所有元素类型相同
S1 S2 S3 S4
TP53 8.5 12.3 6.7 15.2
KRAS 5.2 7.8 9.1 6.5
BRCA1 3.1 4.5 8.2 7.9
列表像一列火车,每节车厢可以装不同类型的数据
数据框 = 等长向量组成的列表,类似Excel表格,生物信息学最常用数据结构
id age gender stage tp53_expr
1 P001 45 M II 8.5
2 P002 52 F III 12.3
3 P003 38 F I 6.7
4 P004 61 M IV 15.2
5 P005 29 F II 9.1
两个向量长度不等时,短向量会循环补齐至长向量的长度
R中有四种特殊值,在数据分析中需要特别注意
[1] TRUE FALSE FALSE
[1] 5 4 3 2 1
对序列(向量)中的元素依次进行处理
迭代次数: 7
R的强大就在于丰富的内置函数,与数学函数 y = f(x) 概念一致
| 类型 | 输入 | 输出 | 示例 |
|---|---|---|---|
| 向量化函数 | 向量(n个元素) | 向量(n个元素) | sqrt(), log2() |
| 汇总函数 | 向量(n个元素) | 标量(1个元素) | mean(), sum() |
| 其他 | 向量 | 不等长向量 | unique(), table() |
减少代码重复,提升编程效率
从对象中提取部分数据,是数据分析的基本操作
| 操作符 | 适用对象 | 说明 |
|---|---|---|
[ |
全部 | 返回同类型子集 |
[[ |
列表/数据框 | 返回单个元素 |
$ |
列表/数据框 | 按名字访问元素 |
id age gender stage tp53_expr
1 P001 45 M II 8.5
2 P002 52 F III 12.3
3 P003 38 F I 6.7
id age stage
1 P001 45 II
2 P002 52 III
3 P003 38 I
4 P004 61 IV
5 P005 29 II
id age gender stage tp53_expr
2 P002 52 F III 12.3
4 P004 61 M IV 15.2
[1] "P004"
<-,命名规范NA, NaN, Inf, NULLfor, while, repeatif/else, ifelse()[, [[, $使用 R Markdown 生成报告并打印提交
var() 对比height(cm)和体重 weight(kg)计算 BMI \[BMI = \frac{weight}{(height/100)^2}\]x 和阈值 threshold(默认60),计算所有大于阈值元素的均值📖 王敏杰,《数据科学中的R语言》
https://bookdown.org/wangminjie/R4DS/
⚡ Hadley Wickham,R for Data Science(第2版)
📋 Posit R Cheatsheets(速查表)
https://posit.co/resources/cheatsheets/
王诗翔 副教授
中南大学生物医学信息系
📧 wangshx@csu.edu.cn
🐙 https://github.com/WangLabCSU

R语言基础 | 中南大学