1、R语言入门:R语言简介、安装与配置、RStudio IDE介绍

其实当初选择R语言,我并不是因为情怀。纯粹是被逼的。记得十年前我第一次处理药物靶点数据,几千个化合物的结构描述符,用Excel直接卡成PPT。后来转投R,半小时跑完分析,我就知道这条路走对了。

R语言本质上是统计学家写给自己的工具。语法灵活,包生态丰富,尤其在生物信息学和药物数据分析领域,几乎是标配。我说白了,做药物知识图谱,如果你不会R,就像外科医生不会用手术刀——能干,但效率差一大截。

1.1 为什么是R语言?

你可能会问:Python也挺好啊,为什么非要用R?我个人的理解是这样:R的强项在于数据框操作和统计建模。tidyverse这套东西,处理表格数据简直是降维打击。再加上Bioconductor里大量药物相关的包,比如用于药物-靶点网络分析的、用于化学结构相似性计算的,R的生态非常成熟。

另一个我觉得很重要的点:R的社区文档质量很高。CRAN上的每个包都有PDF手册,案例详实。早年我踩过的坑,大部分在vignettes里都能找到答案。

下面是R语言在我眼中的核心能力概览:

能力维度 具体表现 药物知识图谱场景
数据处理 dplyr、data.table 清洗药物-靶点关联表
统计建模 lm、glm、survival 药物疗效与靶点表达相关性
网络分析 igraph、visNetwork 药物-基因-疾病网络构建
可视化 ggplot2、plotly 知识图谱节点度分布

我的建议:如果你之前用过SAS或SPSS,R的上手曲线其实很平缓。别被命令行的样子吓到,RStudio会解决你的体验问题。

1.2 环境搭建:安装与配置

安装R本身并不复杂,但有几个细节我建议你留意。先讲系统层面的安装。

Windows用户:

  • 去CRAN官网下载Windows版本,选base那一项
  • 安装路径最好别有中文,不然后面读数据会出幺蛾子
  • 安装完记得把R的bin目录加到环境变量里,方便命令行调用

macOS / Linux用户:

  • macOS推荐通过Homebrew安装:brew install r
  • Linux下根据发行版选择,Ubuntu可以用:sudo apt install r-base
  • 我一般会顺手装r-base-dev,很多包编译需要这个

安装完成后,你可以在终端输入R启动交互环境。但我个人几乎从来不用原生的R GUI。等会儿我们聊RStudio。

包管理器CRAN是R的灵魂。安装包的命令很简单:

install.packages("tidyverse")
install.packages("igraph")
install.packages("BiocManager")
BiocManager::install("Rgraphviz")

我曾经踩过的坑:新手容易在包安装时遇到编译问题。尤其是Windows上,有些包需要Rtools。如果你看到类似“ERROR: compilation failed for package”的提示,多半是缺了Rtools。去CRAN下载安装Rtools,然后在R里运行:

writeLines('PATH="${RTOOLS40_HOME}\\usr\\bin;${PATH}"', con = "~/.Renviron")

重启R就行了。

配置方面,我还建议创建一个专门的工作目录,用来放所有的药物知识图谱项目代码。比如:

# 在R里运行
setwd("D:/R_projects/drug_kg_project")
getwd()

小技巧:用RStudio打开项目时,它会自动切换工作目录到项目根目录。养成用Project的习惯,比手动setwd靠谱得多。

1.3 RStudio IDE:我的日常战场

我记得第一次打开RStudio时,被四个面板搞晕了。但实际上,每个面板都有明确的用途。我简单给你拆解一下:

面板 位置 主要功能
Source Editor 左上 写脚本、保存为.R文件
Console 左下 交互式执行代码、看报错
Environment / History 右上 查看变量、数据框、函数列表
Files / Plots / Packages / Help 右下 文件管理、图表预览、包管理、文档查询

我一直觉得,RStudio最大的优势是它让数据探索变得很流畅。比如你在Source里写脚本,选中某段代码按Ctrl+Enter,结果直接出现在Console里。这种即时反馈是药物分析工作流里特别重要的——你想想看,当你拿到一个药物-靶点数据表,需要快速查看它的结构、缺失值、分布情况,RStudio的交互特性可以让你在几秒内完成。

常用的快捷键我列几个:

  • Ctrl+Enter:运行当前行或选中代码
  • Ctrl+Shift+N:新建R脚本
  • Ctrl+1:光标跳回Source Editor
  • Ctrl+2:光标跳回Console
  • Ctrl+L:清空Console

另外,RStudio支持通过.Rprofile文件自定义启动设置。我习惯在项目根目录放一个.Rprofile,里面写好两个东西:

# .Rprofile 示例
options(stringsAsFactors = FALSE)
options(digits = 3)

cat("项目环境已加载。当前工作目录:", getwd(), "\n")

这样做的好处是,每次打开这个Project,R会自动执行这个文件,全局设置就到位了。不会出现stringsAsFactors这种历史遗留问题搞乱你的数据框。

1.4 本章核心知识框架

下图展示了我个人理解中,R语言基础知识体系在药物知识图谱全流程中的位置。你可以把它当成一张路线图,后续章节里我们逐步展开每一个模块。

R语言药物知识图谱学习路线图 R语言安装 环境变量 + Rtools RStudio IDE 四面板 + 快捷键 包管理与配置 CRAN + BiocManager 数据导入与清洗 readr / dplyr 网络与图分析 igraph / tidygraph 可视化呈现 ggplot2 / visNetwork 药物知识图谱构建 药物 - 靶点 - 疾病关联分析 本章 / 后续章节覆盖的核心模块

你看,从安装R、配置RStudio、掌握包管理,到后面逐步深入数据处理、网络分析和可视化,最终落地到药物知识图谱的具体构建。这个路线图就是我为你规划的30章课程骨架。底气来自哪里?来自我这几年实际做过的几个药物重定位项目——不是纸上谈兵,是真真切切从数据到结论跑通过的全流程。

1.5 本章小结

学完本章,你应该能:

  • 理解R语言在药物数据分析中的定位
  • 独立完成R语言的安装和环境配置,包括Rtools
  • 熟悉RStudio IDE的四个核心面板,能用快捷键提升操作效率
  • 掌握通过CRAN和BiocManager安装包的方法,并配置.Rprofile

课后可以玩一下:打开RStudio,新建一个R脚本,敲两行代码试试:

library(tidyverse)
ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point()

如果你能看到一张散点图出来了,恭喜——你的R环境已经跑通了。