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

相关推荐
风筝超冷几秒前
Seq2Seq - 编码器(Encoder)和解码器(Decoder)
人工智能·深度学习·seq2seq
uncle_ll2 分钟前
李宏毅NLP-3-语音识别part2-LAS
人工智能·自然语言处理·语音识别·las
L73S374 分钟前
MySQL数据类型
mysql·考研·学习方法
kyle~4 分钟前
ROS2---std_msgs基础消息包
开发语言·python·机器人·ros·机器人操作系统
满怀10155 分钟前
【NumPy科学计算引擎:从基础操作到高性能实践】
开发语言·python·numpy
helloworld工程师6 分钟前
Spring AI应用:利用DeepSeek+嵌入模型+Milvus向量数据库实现检索增强生成--RAG应用(超详细)
人工智能·spring·milvus
&zzz1 小时前
Python生成exe
开发语言·python
Python×CATIA工业智造1 小时前
基于PySide6与pycatia的CATIA绘图比例智能调节工具开发全解析
python·pycharm·自动化·catia二次开发
終不似少年遊*2 小时前
【NLP解析】多头注意力+掩码机制+位置编码:Transformer三大核心技术详解
人工智能·自然语言处理·大模型·nlp·transformer·注意力机制
vsropy3 小时前
matlab安装python API 出现Invalid version: ‘R2022a‘,
开发语言·python