参考我之前的博客:
https://blog.csdn.net/weixin_62528784/article/details/142621762?spm=1001.2014.3001.5502
数据分析方面我R用的多,也很熟练,但耐不住这几年的趋势就是生信各种工具流上大幅向python迁移;
而python,我个人用得少,一般用jupyter;
前者用Rstudio作为IDE,后者用jupyter作为IDE,我很早就出过一篇博客谈到IDE all in one的问题,
也就是为了coding的效率提升,我尽量不想一会儿跑R打开rstudio或rstudio-server的8787端口,一会儿又跑回vscode的jupyter notebook上敲python;
之前出的那篇博客其实还是以R为主,是为了解决在旧版服务器上Rstudio-server没权限装,必须得给R配一个IDE的问题。
①但现在的问题就是需要统一IDE,做到all in one才能提高coding效率;
②最重要的是:
所有补全、AI辅助、copilot类的插件都在vscode中,在vscode中使用jupyter notebook+R kernel编程R的话,虽然没有Rstudio那样便利、管理操作变量,
但是换来的是更高效、更智能全面地使用一切vscode中能够AI的功能,所以是利大于弊
1,新建一个环境用于安装R-base,以及安装IRkernel
IRkernel 是 Jupyter Notebook 中的 R 内核,它允许我们在 Jupyter Notebook 中运行 R 代码。
可以在 R 中运行以下命令来安装 IRkernel
plain
mamba create -n r-jupyter -y r-base==4.4.2
#打开R安装:
install.packages('IRkernel')
IRkernel::installspec() # 将 IRkernel 安装到 Jupyter Notebook 中
2,新建jupyter笔记本文件,然后依据自己需求选择内核
我们的目的当然是选择这个环境中配置好的R内核
当然也可以随时切换python内核
3,安装R包:
可以直接在notebook中安装,但是耗费时间会很长
其实可以直接在vscode下方的shell中打开该环境,然后手动安装
当然,在实际处理过程中:
无论是在cell中运行安装代码,还是在shell中进入对应环境进入R运行安装代码,基本上都很难安装;
所以还是在shell终端中使用conda安装R包:
参考:https://mp.weixin.qq.com/s/trAs7vh0N97sPQFl8W35gg以及我之前的博客
搜索格式见下:
plain
mamba search
#1,r-xxx包
#2,bioconductor-xxx包
#3,xxx包
以tidyverse包为例:
没搜到,再试试
找到了,可以直接安装:
在vscode下方的shell中成功,在jupyter的cell中试一试
也成功了
总之:安装R包在shell中用conda试试,其余按照R正常操作在jupyter中照常即可
4,运行时候会遇到的一些问题:
(1)
https://github.com/microsoft/vscode/issues/196740
参考之后可以通过调节pylance版本进行处理
更换old version即可
(2)参考:https://mp.weixin.qq.com/s/trAs7vh0N97sPQFl8W35gg
创建 .Rprofile
文件的目的是为了在 R 启动时自动配置环境,使得 R 能够识别和加载特定目录下安装的 R 包。以下是对每一行代码的详细解释:
- 打开或创建
.Rprofile
文件
bash
vim ~/.Rprofile
- **解释**:使用 `vim` 编辑器打开位于用户主目录下的 `.Rprofile` 文件。如果该文件不存在, `vim` 会自动创建一个新的文件。 `.Rprofile` 是一个 R 配置文件,在 R 启动时会自动执行其中的代码,用于设置用户自定义的环境配置。
- **定义自定义的 R 包目录变量 **
.CUSTOM_LIB1
r
.CUSTOM_LIB1 = "/share/Software/miniforge3/envs/R/lib/R/library"
- **解释**:创建一个名为 `.CUSTOM_LIB1` 的变量,并将其值设为 `/share/Software/miniforge3/envs/R/lib/R/library`。这个路径指向一个特定的 R 包库目录,其中包含通过 `conda` 安装的 R 包(例如 `bioconductor-deseq2`)。
- **定义另一个自定义的 R 包目录变量 **
.CUSTOM_LIB2
r
.CUSTOM_LIB2 = "~/miniforge3/envs/R/lib/R/library/"
- **解释**:创建另一个名为 `.CUSTOM_LIB2` 的变量,并将其值设为 `~/miniforge3/envs/R/lib/R/library/`。这个路径通常指向用户在本地环境中通过 `conda` 安装 R 包的位置。
- 更新 R 的包搜索路径
r
.libPaths(c(.CUSTOM_LIB1, .CUSTOM_LIB2, .libPaths()))
- **解释**:
* `libPaths()` 是一个 R 函数,用于获取和设置 R 包的搜索路径。
* `c(.CUSTOM_LIB1, .CUSTOM_LIB2, .libPaths())` 将 `.CUSTOM_LIB1` 和 `.CUSTOM_LIB2` 这两个自定义目录与现有的 R 包搜索路径合并。
* `.libPaths(c(...))` 将合并后的路径设置为新的 R 包搜索路径。
- **目的**:通过将自定义的 R 包目录添加到 `.libPaths()` 中,确保 R 在启动时能够自动搜索这些目录,从而找到并加载通过 `conda` 安装的 R 包(如 `bioconductor-deseq2`)。这对于在网页端运行的 R 环境尤其重要,因为它确保了 R 能够访问所有必要的包,而无需手动指定包的位置。
总结:
通过创建和配置 .Rprofile
文件,用户可以自定义 R 的启动行为,特别是指定额外的 R 包库路径。这在使用 conda
管理 R 包时尤为有用,因为它允许 R 在不同的环境中找到并加载必要的包,确保分析和计算能够顺利进行。