「RB」01 在VS Code中通过Jupyter Notebook使用由Conda创建的R语言环境
Greetings! ¶
嗨!你有没有觉得安装R语言的过程有些麻烦?你有没有觉得为了安装R语言来安装R-Studio很耗空间和时间?或者说你是否觉得需要运行一整个文件来查看一个简单的R语言代码实在太不方便了?
那么,这篇文章就是为你准备的!
我们将通过VS Code来使用Jupyter Notebook来运行R语言代码,而且我们将使用Conda来创建R语言环境。
0. Why do so? ¶
- 相比于
R-Studio,VS Code更加轻量级,更加灵活。我相信一部分同学已经在使用VS Code来编写Python代码了,那么使用相同的IDE来编写R语言代码也是一个不错的选择。 Jupyter Notebook是一个非常方便的工具,可以让我们一边写代码一边查看结果(可以反复运行一小部分代码),而不是一次性运行整个文件。这样既可以节省时间,又可以直观地看到代码的运行结果,对于学习一门新的语言来说是非常有帮助的!Conda是一个非常方便的虚拟环境管理工具。既然我们已经在使用Conda来管理Python的虚拟环境,那么我们也可以使用Conda来管理R语言的虚拟环境。
1. 安装R语言环境 ¶
1.1 确认Conda是否已经安装 ¶
首先,确定你已经安装了Anaconda或者Miniconda。你可以通过以下命令来检查:
conda --version只要有版本信息输出,就说明你已经满足了这个条件。
1.2 创建R语言环境 ¶
接下来,我们需要创建一个R语言环境。我们可以通过以下命令来创建:
conda create -n r-env r-essentials这个命令会创建一个名为r-env的环境,并且会安装R语言的必要组件。
注意:名字是可以自己定义的,比如说我可以把
r-env改成my-r-env来创建一个名为my-r-env的环墿。
当安装完成后,我们可以通过以下命令来激活这个环境:
conda activate r-env # r-env是环境的名字创建完毕后,输出大概如下:

1.3 为虚拟环境安装一系列依赖 ¶
接下来还需要安装一些依赖。请在激活环境后运行以下命令:
conda install -c conda-forge jupyter r-irkernel因为镜像源的不同,这个过程的时间可能会有所不同。请耐心等待。
安装完成后,输出大概如下:

1.4 可能出现的问题 ¶
如果在Jupyter Notebook中出现使用的问题,可以尝试在R语言的交互式环境中进行以下操作:
- 进入
R语言的交互式环境:
R- 安装
IRkernel:
install.packages('IRkernel')- 注册
IRkernel内核:
IRkernel::installspec(user = FALSE)- 检测是否安装成功:
jupyter kernelspec list如果有类似以下输出,则说明安装成功:
Available kernels:
python3 /path/to/python3
ir /path/to/R2. 在VS Code中使用Jupyter Notebook ¶
2.1 安装Jupyter插件 ¶
首先,打开VS Code,通过左侧按钮打开Extensions并搜索Jupyter,然后安装Jupyter插件。

2.2 创建一个Jupyter Notebook ¶
Jupyter Notebook的文件后缀名是.ipynb,随意创建一个文件并将后缀名改为.ipynb即可。
2.3 通过Jupyter Notebook打开R语言环境并选择内核 ¶
当你打开ipynb文件后,右上角会出现一个Select Kernel的按钮。点击其既即可以选择R语言的内核。

之后选择Jupyter Kernel,然后选择刚才创建的R语言环境即可。(比如说我创建的叫做test_r,图中另外两个内核,一个是由conda创建的名为r的环境,另一个则是系统范围内安装的R)

3. 运行R语言代码 ¶
现在,你可以在Jupyter Notebook中运行R语言代码了!
比如说,添加一个code cell(通过点击中间的"+ Code"按钮),然后输入以下代码:
x <- 1:10
y <- x^2
plot(x, y)然后点击左侧的三角形按钮即可运行代码。(或者使用Shift + Enter)

⚠️注意:
plot函数绘制的图像默认为透明背景。
如果想要用白色作为背景色,可以在plot函数之前添加par(bg = "white")
x <- 1:10
y <- x^2
par(bg = "white")
plot(x, y)
4. 结语 ¶
通过VS Code和Jupyter Notebook,我们可以更加方便地运行R语言代码了!
希望这篇文章对你有所帮助!
Have fun! 😉