Lecture01:R语言介绍及环境搭建
2024-08-23
R语言在生物信息学中被广泛应用,主要用于数据分析、可视化和统计建模。是生物信息学专业的“第一语言”
基因表达分析:R语言可以用于分析基因表达数据,包括差异表达分析、聚类分析、通路分析等。常用的包括DESeq2、edgeR等。
DNA序列分析:R语言可以用于对DNA序列进行分析,如序列比对、变异检测、序列特征提取等。常用的包括Bioconductor生物信息学包。
蛋白质结构分析:R语言可以用于分析蛋白质结构数据,如蛋白质结构预测、蛋白质结构比对等。
生物统计建模:R语言可以用于生物统计建模,如生存分析、疾病风险预测、群体遗传学分析等。
可视化:R语言有丰富的绘图功能,可以用于绘制生物信息学数据的图表,如热图、散点图、箱线图等。
什么是计算机程序?
冯诺依曼结构(Von Neumann architecture)
一个程序就像一个用汉语(程序设计语言)写下的红烧肉菜谱(程序源代码),用于指导懂汉语的人(体系结构)来做这个菜。
通常,以文本为基础的计算机程序要经过编译和链接而成为一种人们看不懂而计算机可解读的一连串数字的格式,然后放入运行。这种程序也叫作编译语言。无需事先编译就可运行的程序,通常称之为脚本程序(script)或解释型语言。
C
C++
Java
Javascript
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hello, World!</title>
</head>
<body>
<script>
// JavaScript 代码写在这里
document.write("Hello, World!");
// 或者使用 console.log 将信息输出到浏览器的控制台
console.log("Hello, World!");
</script>
</body>
</html>
python
# 安装并加载 ggplot2 包
if (!require("ggplot2")) install.packages("ggplot2")
library(ggplot2)
# 手动创建一个数据框
set.seed(123) # 设置随机数种子以便结果可复现
cars <- data.frame(
CarModel = c("Car A", "Car B", "Car C", "Car D", "Car E", "Car F", "Car G", "Car H", "Car I", "Car J"),
Weight = runif(10, 2000, 4000), # 随机生成汽车重量,单位为磅
MPG = rnorm(10, 20, 5) # 随机生成每加仑英里数,均值为20,标准差为5
)
# 计算每款车的 MPG 标准差
mpg_sd <- sd(cars$MPG)
# 使用 ggplot2 绘制箱线图
p <- ggplot(cars, aes(x = CarModel, y = MPG)) +
geom_boxplot() + # 添加箱线图层
geom_errorbar(aes(ymin = MPG - sd(MPG), ymax = MPG + sd(MPG)), width = 0.2) +
labs(title = "MPG Boxplot with SD",
x = "Car Model",
y = "Miles per Gallon (MPG)") +
theme_minimal() +
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())
# 打印图表
print(p)
S语言作者,R语言专家J. M. Chambers((J. M. Chambers 2016))指出R的本质特征:
详细地说R有如下技术特点:
R语言是一种广泛使用的统计分析和图形表示语言,主要应用领域有:
统计分析:R最初被设计用于统计分析,它提供了大量的统计测试、模型构建和数据探索工具。
生物统计学:R在生物统计学领域非常流行,它提供了许多专门用于生物数据分析的包。
遗传学:R在遗传学研究中也有广泛应用,特别是用于基因组数据的分析。
数据可视化:R拥有强大的数据可视化功能,可以创建各种图表和图形,如条形图、折线图、散点图、箱线图等。
数据挖掘:R可以用于数据挖掘任务,包括聚类、分类、回归、关联规则学习等。
机器学习:R拥有多个机器学习包,如caret、randomForest、e1071等,可以用于构建和评估机器学习模型。
R语言是一种开源的编程语言和软件环境,主要用于统计计算和图形表示。它由Ross Ihaka(罗斯·伊哈卡)和Robert Gentleman(罗伯特·詹特曼)在新西兰奥克兰大学于1993年创建,以S语言为基础发展而来。R语言因其强大的数据处理能力、丰富的统计分析功能以及灵活的图形绘制功能而广受欢迎。
CRAN:CRAN是”Comprehensive R Archive Network”的缩写,意为“全面的R归档网络”。它是一个由全球众多镜像站点组成的网络,主要负责收集、存储和分发R语言的源代码、可执行文件、包以及文档等资源。
下载适合windows的R安装包
只需下载base部分
作为学习目的,下载最新版本即可
::: {.notes}
除了base为R的安装程序, 还有contrib为R附加的扩展软件包下载链接(一般不需要从这里下载), 以及Rtools链接, 是在R中调用C、C++和Fortran程序代码时需要用的编译工具。
:::
也可从这里下载R-4.4.1
点击下载的exe进行安装,安装后建议设置环境变量:
点击新建,将安装的R目录下的bin
文件夹地址粘贴到框中,比如安装地址是:C:\Program Files\R\R-4.4.1\bin
,点击确定。
打开终端,输入R
, 进入R交互式终端,即为安装成功
“GUI”是”Graphical User Interface”的缩写,中文意思是“图形用户界面”。除了命令行的操作方式外,windows上R的base安装包附带一个RGui软件。
R有一万多个扩展软件包,提供了各种各样的功能。 在安装基本R软件时, 已经伴随安装了一些必要的扩展包, 如base, stats, graphics等, 这些包在启动R时会默认载入, 不需要用户干预。
也可以从RGui设定包镜像
Bioconductor是一个基于 R 语言的生物信息学和计算生物学的软件项目,它提供了一套工具和数据结构,专门用于生物数据的分析和解释。如基因表达分析、基因组注释、数据可视化等。
有些生物信息相关的包只在Bioconductor网站提供。
Bioconductor网站的Packages页面下列出了所有包,截至目前(2024-08-23日)已有2300个包。
Bioconductor 的安装和使用可以通过 R 的包管理器进行,通常需要使用 BiocManager::install() 函数来安装所需的 Bioconductor 包。例如,安装 GenomicRanges 包的命令如下:
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("GenomicRanges")
Bioconductor 适合于那些需要进行复杂生物数据分析的研究人员,它提供了强大的工具来处理和分析生物信息学数据。
还有一些扩展包没有在CRAN系统提供, 而是放在了Github网站。 对于这样的包, 安装方法举例如下:
github包必须通过devtools
或者remotes
安装,所以要先安装remotes
其中rladies是Github网站的某个作者的名称, praise是该作者名下的一个R扩展包。这个包很有意思,可以生成各种称赞的话,虽然没什么用,但展示了R的多样性。
除了内置包以外,扩展包在安装好以后如果需要调用,一般需要先用library()函数载入运行。例如,载入readr扩展包,并使用其中的read_csv()函数读入一个CSV文件:
# A tibble: 392 × 9
mpg cyl displ hp weight accel yr origin name
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <chr>
1 18 8 307 130 3504 12 70 1 chevrolet chevelle malibu
2 15 8 350 165 3693 11.5 70 1 buick skylark 320
3 18 8 318 150 3436 11 70 1 plymouth satellite
4 16 8 304 150 3433 12 70 1 amc rebel sst
5 17 8 302 140 3449 10.5 70 1 ford torino
6 15 8 429 198 4341 10 70 1 ford galaxie 500
7 14 8 454 220 4354 9 70 1 chevrolet impala
8 14 8 440 215 4312 8.5 70 1 plymouth fury iii
9 14 8 455 225 4425 10 70 1 pontiac catalina
10 15 8 390 190 3850 8.5 70 1 amc ambassador dpl
# ℹ 382 more rows
在命令行中,可用update.package()
命令更新本地安装的所有有新版本的CRAN扩展包
RStudio是一个强大的集成开发环境(IDE),专门为R语言编程和数据分析设计。它提供了代码编辑、运行、调试、项目管理、可视化和版本控制等多种功能,支持R脚本的编写、R包的安装和管理,以及交互式R命令的执行。RStudio通过其直观的用户界面和丰富的功能,极大地提高了R语言用户的工作效率,是数据科学家、统计学家和研究人员进行数据分析和统计建模的首选工具之一。
R Studio只是一个IDE(集成开发环境,Integrated Development Environment)。类似Java的IDEA和.NET的Visual Studio。在安装R Studio之前必须确保已经安装了R。
如果上面网站打不开,也可从这里下载
设置包镜像:Tools → Global Options → packages → Change
设置主题色和字体:Tools → Global Options → Appearence
用R和RStudio进行研究和数据分析, 每个研究问题应该单独建立一个文件夹(目录)。该问题的所有数据、程序都放在对应的文件夹中。
在RStudio中, 用“File – New Project – Existing Directory”选中该问题的目录, 建立一个新的“项目”(project)。
再次进入RStudio后, 用菜单“File – Recent Projects”找到已有的项目打开, 然后就可以针对该项目进行分析了。 这样分项目进行研究的好处是, 不同项目的可以使用同名的文件而不会有冲突, 程序中用到某个文件时, 只需要写文件名而不需要写文件所在的目录。
一个项目还可以有项目本身的一些特殊设置, 用“Tools – Project Options”菜单打开设置。
将下面的代码在R Studio中敲一下(看不懂没关系),并且逐行运行,看看输出的结果都是什么?
x <- 1+2
x
col <- c(1,2,3,4,5,6,7,8,9)
col
# 创建一个包含随机数的数据框
random_df <- data.frame(
Column1 = runif(10, min = 1, max = 100), # 均匀分布的随机数
Column2 = rnorm(10, mean = 50, sd = 10), # 正态分布的随机数
Column3 = sample(1:100, 10, replace = TRUE), # 随机抽样
Column4 = rpois(10, lambda = 5), # 泊松分布的随机数
Column5 = rbinom(10, size = 1, prob = 0.5) # 二项分布的随机数
)
# 查看数据框
print(random_df)
# 查看数据框的结构
str(random_df)
# 计算每列的摘要统计
summary(random_df)
# 绘制 Column1 的直方图
hist(random_df$Column2, main = "Histogram of Column1", xlab = "Column1")
# 绘制 Column1 和 Column2 的散点图
plot(random_df$Column4, random_df$Column2, main = "Scatterplot of Column1 vs Column2", xlab = "Column1", ylab = "Column2")
QMD是Quarto格式文件的一种扩展名,Quarto是由原RStudio团队开发的开源软件,它支持将包含R、Python、Julia、Observable JS源程序的markdown文件在运行后转换为多种输出格式。(扩展名为 .qmd)
在RStudio中,点击菜单栏File→ New File → Quarto Document/Presentation 创建QMD文件
Qmd文件编写采用标准Markdown语法,最为特殊的是,其中的代码能够直接执行并输出结果
R语言介绍及环境搭建