R语言编写环境概览
众所周知,RStudio 是 R语言最佳 IDE,集成了 Python、SQL、RMarkdown 等一系列工具,照顾到了数据分析的方方面面。
然而,对于平时工作以 Python 为主,R 为辅,同时还使用 MatLab 和 Markdown 的我来说,VSCode 是更为理想的工作环境。然而,对于平时工作以 Python 为主,R 为辅,同时还使用 Julia 的我来说,VSCode 和 JupyterLab 是更为理想的工作环境。
VSCode 调用 R
事实上,VSCode 的文件浏览(explorer)和大纲(outline)以及整个工作区的排布(layout)是非常合理和方便的。
需要承认,VSCode 中的 R 扩展还有2个重要功能没有实现:
- 变量查看器(variable inspector)
- 逐行交互运行
不过,鉴于 VSCode 的高度可扩展性,这些未来会实现的。conda 相关库
进入 conda 环境,安装"r-languageserver"和"radian":
conda install r-languageserver
pip install radian
因为本配置主要针对需要同时使用R的Python用户,因此具体conda是个什么东西,这里就不赘述了,具体介绍见
https://www.anaconda.comwww.anaconda.com推荐安装其中的 Miniconda 版本,其清华镜像链接如下
Index of /anaconda/miniconda/mirrors.tuna.tsinghua.edu.cn![4428f67f1b2916c7843e8b045332b95e.png](https://img-blog.csdnimg.cn/img_convert/4428f67f1b2916c7843e8b045332b95e.png)
VSCode 扩展
在 VSCode 中的扩展商店里搜索并安装 R Extension Pack
![fd97c6484e0d009a2c58947ea8529da7.png](https://img-blog.csdnimg.cn/img_convert/fd97c6484e0d009a2c58947ea8529da7.png)
安装完毕后,"ctrl"+"," 进入配置,点击右上角的图标,打开配置的 json 文件。
对Mac加入如下配置:
![73aa7df6fb169d5fe323d72554447daf.png](https://img-blog.csdnimg.cn/img_convert/73aa7df6fb169d5fe323d72554447daf.png)
{
对于Windows加入如下配置:
{
自定义快捷键
作为一个Python用户,有时候挺为 R语言中的"<-"烦心的。针对这个问题,可以在File-Preference里的Keyboard Shortcuts (快捷键是 CTRL+K CTRL+S)调整。在下图界面中点击右上角红框中的按钮,进入keybindings.json,加入如下语句:
{
![2b9fa274bbb82cdce4311afe954eb6bb.png](https://img-blog.csdnimg.cn/img_convert/2b9fa274bbb82cdce4311afe954eb6bb.png)
![7e427ff8d909c3d0933a1d8634a0d946.png](https://img-blog.csdnimg.cn/img_convert/7e427ff8d909c3d0933a1d8634a0d946.png)
运行效果
JupyterLab 调用 R
JupyterLab 是一个非常友好的交互环境,通过安装扩展,可以方便地进行变量查看,弥补了上文提到的 VSCode 当下的两点不足。conda 相关库
进入 conda 环境,安装 "r-base" 和 "r-irkernel" :
conda install r-base r-irkernel
JupyterLab 扩展
通过如下命令安装 JupyterLab 扩展,当然也可以进入 JupyterLab 后通过扩展商店安装。
# 扩展管理器
jupyter labextension install @jupyter-widgets/jupyterlab-manager
# 变量查看器
jupyter labextension install @lckr/jupyterlab_variableinspector
运行效果
![b04aa8fd80879d840d5827cf412938f4.png](https://img-blog.csdnimg.cn/img_convert/b04aa8fd80879d840d5827cf412938f4.png)