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

相关推荐
墨鱼丸家5 分钟前
dbscan 聚类并可视化简单案例
python
LRaby356465 分钟前
交响曲-24-3-单细胞CNV分析及聚类
人工智能·机器学习·单细胞·cnv
呆头呆脑~9 分钟前
逆向 易九批 最新版 爬虫逆向 x-sign ......
javascript·爬虫·python·算法·网络爬虫
codists35 分钟前
《CPython Internals》阅读笔记:p97-p117
python
bingbingyihao38 分钟前
采用GPT生成的Python 的 2048 游戏
python·gpt·游戏
通信.萌新1 小时前
深度学习——pytorch基础入门
人工智能·pytorch·深度学习
morning_judger1 小时前
【Python学习系列】数据类型(二)
开发语言·python·学习
雪球小梦1 小时前
OpenAI掌舵人解读OpenAI新进展:迈向超级智能。
人工智能·chatgpt
XianxinMao1 小时前
GOT-OCR2.0:突破性端到端架构与高精度文本识别的技术创新
人工智能·深度学习
徐礼昭|商派软件市场负责人1 小时前
支持各大平台账单处理,支持复杂业财数据的精细化对账|商派OMS
大数据·数据库·人工智能·oms·财务对账