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

相关推荐
孤独野指针*P1 小时前
深度学习中的目标检测:从 PR 曲线到 AP
python·深度学习·yolo
IT信息技术学习圈1 小时前
Python程序打包为EXE文件的全面指南
开发语言·python
大有数据可视化2 小时前
人工智能如何革新数据可视化领域?探索未来趋势
人工智能·信息可视化
AI technophile3 小时前
OpenCV计算机视觉实战(4)——计算机视觉核心技术全解析
人工智能·opencv·计算机视觉
云和数据.ChenGuang3 小时前
人工智能 机器学习期末考试题
开发语言·人工智能·python·机器学习·毕业设计
珊珊而川4 小时前
3.1监督微调
人工智能
我是小伍同学4 小时前
基于卷积神经网络和Pyqt5的猫狗识别小程序
人工智能·python·神经网络·qt·小程序·cnn
lllsure6 小时前
Python基础语法
开发语言·python
界面开发小八哥6 小时前
界面控件DevExpress WinForms v25.1新功能预览 - 功能区组件全新升级
人工智能·.net·界面控件·winform·devexpress
zhz52146 小时前
开源数字人框架 AWESOME-DIGITAL-HUMAN 技术解析与应用指南
人工智能·ai·机器人·开源·ai编程·ai数字人·智能体