R、python all in one jupyter

参考我之前的博客:

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 包。以下是对每一行代码的详细解释:

  1. 打开或创建 .Rprofile 文件
bash 复制代码
vim ~/.Rprofile
复制代码
- **解释**:使用 `vim` 编辑器打开位于用户主目录下的 `.Rprofile` 文件。如果该文件不存在, `vim` 会自动创建一个新的文件。 `.Rprofile` 是一个 R 配置文件,在 R 启动时会自动执行其中的代码,用于设置用户自定义的环境配置。
  1. **定义自定义的 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`)。
  1. **定义另一个自定义的 R 包目录变量 **.CUSTOM_LIB2
r 复制代码
.CUSTOM_LIB2 = "~/miniforge3/envs/R/lib/R/library/"
复制代码
- **解释**:创建另一个名为 `.CUSTOM_LIB2` 的变量,并将其值设为 `~/miniforge3/envs/R/lib/R/library/`。这个路径通常指向用户在本地环境中通过 `conda` 安装 R 包的位置。
  1. 更新 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 在不同的环境中找到并加载必要的包,确保分析和计算能够顺利进行。

参考:
https://mp.weixin.qq.com/s/O0Xxlvr-R-lLkMOZUgTUAQ

https://mp.weixin.qq.com/s/trAs7vh0N97sPQFl8W35gg

相关推荐
Sunshine_Cherish几秒前
当Anaconda的安装路径与我想创建的conda虚拟环境路径不一致时,应该怎么操作?
python·conda·anaconda
FreakStudio26 分钟前
一文速通Python并行计算:00 并行计算的基本概念
python·嵌入式·面向对象·电子diy
myzzb28 分钟前
python字符级差异分析并生成 Word 报告 自然语言处理断句
python·学习·自然语言处理·word·snownlp
水w30 分钟前
【pyCharm Git】根据dev分支新建dev_y分支,本地也新建dev_y分支,并将代码提交到Gitlab上的新分支dev_y上。
开发语言·git·python·pycharm·pull·push·branch
说私域1 小时前
技术革命、需求升级与商业生态迭代——基于开源AI大模型与智能商业范式的创新研究
人工智能·微信·小程序·开源·零售
范哥来了1 小时前
python 数据可视化matplotib库安装与使用
开发语言·python·信息可视化
dme.1 小时前
python爬虫Scrapy(6)之增量式
爬虫·python·scrapy
Lichenpar2 小时前
AI小白的第七天:必要的数学知识(四)
人工智能·概率论·概率分布
訾博ZiBo2 小时前
AI日报 - 2025年3月21日
人工智能
Biomamba生信基地3 小时前
R语言基础小测验
开发语言·r语言·生信