Rstudio环境配置

1 更新R

在R原软件中逐个运行下面的代码(仅适用Windows系统)。macOS直接打开CRAN官网下载最新版本的R覆盖安装,重启RStudio即可完成R的更新,原R包都在。

install.packages("installr")
library(installr)
updateR()

2 更新R包

运行下面的代码或通过右下角的Packages选项卡进行R包的更新

old.packages() # 检查是否有需要更新的R包
update.packages(ask = F) # 更新所有R包
news(package = "limma") # 参看R包的更新内容
BiocManager::valid() # 查看是否有需要更新的bioconductor包。根据提示安装更新

3 从bioconductor安装R包

BiocManager::install("biomaRt",update = TRUE,ask = FALSE)

4 清除当前加载的程序包

detach("package:dplyr", unload=TRUE)
# 或用pacman包内的p_unload函数
pacman::p_unload("dplyr")

如果要从环境中移除所有用户包,则可通过pacman包的p_loaded()+p_unload()函数实现:

pacman::p_unload(pacman::p_loaded(), character.only = TRUE)

5 更改当前R脚本运行目录

setwd("/Users/totoshihiro/Library/Mobile Documents/com~apple~CloudDocs/Documents/科研/医学统计学/数据基本处理与标准化")
getwd()#查看当前R脚本运行目录

6 环境查看和清理

rm(mydata)
rm(list = ls())#移除当前环境中的所有对象
cat("\014")#清空所有输出结果
sessionInfo()#收集有关当前R项目的信息

7 自动安装所需的R包

packages <-c("GEOquery", "limma","ggplot2", "pheatmap")#列出所需的R包

#检查所需的R包是否已安装,若未安装则从CRAN或Bioconductor安装包
packagecheck <- function(x) {
  if (!require("BiocManager")) {
    install.packages("BiocManager")
  } else if (!require(x, character.only = T)) {
    CRANpackages <- available.packages()
    if (x %in% rownames(CRANpackages)) {
      install.packages(x)
    } else {
      BiocManager::install(x, update = TRUE, ask = FALSE)
    }
  }
}
lapply(packages, packagecheck)

8 调整矢量/内存分配上限

8.1 提高矢量大小上限

在R语言中如果我们要处理的数据集较大,如在处理单细胞数据时,可能会出现如下报错:

Error: cannot allocate vector of size *** Mb

这是因为 R 中有对象大小的限制(默认值为 500 1024 ^ 2 = 500 Mb)。可以通过如下代码进行调整:

# 调整允许对象大小限制为6GB
options(future.globals.maxSize = 6 * 1024 * 1024^2)

8.2 提高R内存分配上限(macOS)

如果在运行大量的数据处理时,出现如下报错:

Error: vector memory exhausted (limit reached?)

那么说明脚本的运行超出了R语言内存分配的上限,这一般就是Mac的物理内存大小。但是,我们可以通过如下的方式来通过分配SWAP虚拟内存的方式,使得代码能够继续运行(来自stackoverflow上的这篇帖子)。

【方法一:通过usethis包配置】

在R中运行:

usethis::edit_r_environ()
Tip

usethis is a package that facilitates interactive workflows for R project creation and development

运行后会在RStudio中以新标签页的方式打开一个.Renviron文件。在其中输入:

R_MAX_VSIZE=50Gb
Caution

注意这里的内存数值包括了物理内存和虚拟内存,所以如果你的电脑的实际内存为16GB,那么在这里需要输入比16GB更大的数值,输入16GB是不会有帮助的。

保存这个文件后,重启RStudio,这时候内存上限就被修改好了。

RStudio调用虚拟内存执行脚本

【方法二:通过终端配置】

打开终端(Terminal),在其中输入:

cd ~
touch .Renviron
open .Renviron

这时会打开.Renviron文件,在其中输入:

R_MAX_VSIZE=50Gb

保存文件,重启RStudio。

9 RStudio常用快捷键

RStudio常用快捷键
操作 MacOS快捷键
新建R脚本 Command + Shift + N
重启R Command + Shift + 0。或点击菜单栏 Session > Restart R
复制并粘贴代码 在一行代码末尾或者选中需要复制的代码后按Command + Shift + D
多行注释 先选中所要注释的代码,然后按Command + Shift + C
如果想取消注销,再选中代码,再后按Command + Shift + C
创建可折叠注释 Command + Shift + R
插入管道函数 Command + Shift + M
赋值 Option + -
打开帮助 将光标放到函数中间,然后按F1
查找此前运行过的代码 在Console面板中,按 Command + 方向上键,就可以浏览此前运行过的代码。
自动包装函数 选中需要包装成函数的代码后,按 Option + Command + X,会弹出对话框,填写自定义函数的名称后,选中的代码被自动转换成函数,并且其中需要输入的变量会被自动识别并填写到函数名后的括号中(见 Figure 1 )。
批量更改自定义函数内的输入变量名

有时候我们需要修改自定义函数中的某个输入变量的名称,如果手动修改可能会发生遗漏。这时我们可选中需要修改名称的输入变量,然后按 Command + Option + Shift + M ,则进入了“Rename in scope”模式,这个时候修改函数名后括号内的某个变量名,“{}”内的所有该变量会同步修改(见 Figure 2 )。

如果记不住该快捷键,也可以在RStudio的菜单栏中选择 Code > Rename in scope 来进入该模式。

批量添加逗号 如果有一连串对象需要添加逗号,则可以在按住 Option 的同时用鼠标在这些对象的后方下拉拖拽,这时候可以发现有多个光标被定位到了这些对象之后,然后就可以输入逗号(见 Figure 3 )。
Figure 1: 自动包装函数示例
Figure 2: Rename in scope示例
Figure 3: 批量添加逗号示例
Tip
  • 在Windows中相应的快捷键把上面的 Command 替换成 ControlOption 替换成 Alt 即可。

  • 记不住快捷键?可以通过在RStudio的菜单栏中选择 Tools > Keyboard Shortcuts Help 来显示所有快捷键。

10 自动整理代码

The tidyverse style guide对代码编写时的规范格式进行了详细说明。通过styler包可以实现对代码的自动整理,有助于保持不同项目之间的代码风格一致,并促进协作。安装styler后通过运行下面的命令即可自动整理当前打开的文档的代码。

install.packages("styler")
styler:::style_active_file()

也可以用通过打开Rstudio的插件(Addins),选择”Style active file”来实现对当前R脚本的代码整理。或者选择一段代码后,点击”Style selection”来对选中的代码进行整理。

Figure 4: Rstudio插件
Tip

R for Data Science中详细说明了规范的代码风格。

11 Rstudio主题

rsthemes包提供了多种额外的主题。

该包通过r-universe进行安装:

install.packages(
  "rsthemes",
  repos = c(gadenbuie = 'https://gadenbuie.r-universe.dev', getOption("repos"))
)

然后安装主题:

rsthemes::install_rsthemes()

使用:

# 列出所有来自rsthemes的主题
rsthemes::list_rsthemes()

# 依次尝试所有主题
rsthemes::try_rsthemes()

# 只尝试浅色主题
rsthemes::try_rsthemes("light")

通过Tools > Global Options > Appearance也可以浏览和应用这些主题。

安装该包后还会在Rstudio的插件中显示,可以方便的进行深色和浅色模式的切换。要实现这一点,需要打开R的配置文件(~/.Rprofile),可以通过下面的方式快速打开:

usethis::edit_r_profile()

然后将下面的代码粘贴进配置文件:

if (interactive()) {
  rsthemes::set_theme_light("Chrome") # 默认的浅色主题
  rsthemes::set_theme_dark("Cobalt") # 默认的深色主题
  rsthemes::set_theme_favorite( # 再添加一些主题作为备选
    c(
      "GitHub {rsthemes}",
      "Material Palenight {rsthemes}"
    )
  )
}

现在就可以通过点击插件中的”Toggle Dark Mode”来一键切换深色和浅色主题了(Figure 4 )。同时,点击”Next Favorite Theme”可以切换上面设置的set_theme_favorite()里面的主题。