本指南适用于MacOS 10.13及以上的系统。不确定有没有用的环境依赖是xcode commandline tools,不嫌麻烦可以提前装一下,很多东西都要用到这个。
1 | xcode-select --install |
走流程介绍一下R
R语言,一种自由软件编程语言与操作环境,主要用于统计分析、绘图、数据挖掘。R本来是由来自新西兰奥克兰大学的罗斯·伊哈卡和罗伯特·杰特曼开发(也因此称为R),现在由“R开发核心团队”负责开发。R基于S语言的一个GNU计划项目,所以也可以当作S语言的一种实现,通常用S语言编写的代码都可以不作修改的在R环境下运行。R的语法是来自Scheme。
R的源代码可自由下载使用,亦有已编译的可执行文件版本可以下载,可在多种平台下运行,包括UNIX(也包括FreeBSD和Linux)、Windows和MacOS。R主要是以命令行操作,同时有人开发了几种图形用户界面,其中RStudio是最为广泛使用的集成开发环境。
环境配置过程
安装Anaconda
如果已经安装过了(打开终端试试conda --version
命令),就直接看下一部分。
按照我的习惯,一般是用脚本安装。Anaconda官网的下载页面直接拉到底,下载命令行安装文件。
终端进入下载文件夹,输入bash Anaconda3-2020.07-MacOSX-x86_64.sh
(具体版本看你下载文件的名字),一路下一步,遇到y/n就选y。安装完成后重启终端,应该长这样:
如果想在新建环境里执行下面的操作,可以输入以下命令新建并激活环境:
1 | conda create -n env_name python=3 ipython jupyterlab |
我在这里不讲如何新建环境了,所有操作直接在base环境里执行。在进行下一步操作前,可以尝试输入jupyter notebook
或者jupyter lab
看一下服务有没有正常启动。
安装R语言组件
我们以(当时)最新的R-4.0.2版本为例。R官网贴心为各国商科精英们准备了物理距离尽可能短的镜像。下表是中国境内的服务器:
R-4.0.2.pkg 下载链接 | 镜像源 |
---|---|
https://mirrors.tuna.tsinghua.edu.cn/CRAN/bin/macosx/R-4.0.2.pkg | TUNA Team, Tsinghua University |
https://mirrors.bfsu.edu.cn/CRAN/bin/macosx/R-4.0.2.pkg | Beijing Foreign Studies University |
https://mirrors.ustc.edu.cn/CRAN/bin/macosx/R-4.0.2.pkg | University of Science and Technology of China |
https://mirror-hk.koddos.net/CRAN/bin/macosx/R-4.0.2.pkg | KoDDoS in Hong Kong |
https://mirrors.e-ducation.cn/CRAN/bin/macosx/R-4.0.2.pkg | Elite Education |
https://mirror.lzu.edu.cn/CRAN/bin/macosx/R-4.0.2.pkg | Lanzhou University Open Source Society |
https://mirrors.nju.edu.cn/CRAN/bin/macosx/R-4.0.2.pkg | eScience Center, Nanjing University |
https://mirrors.tongji.edu.cn/CRAN/bin/macosx/R-4.0.2.pkg | Tongji University |
https://mirrors.sjtug.sjtu.edu.cn/CRAN/bin/macosx/R-4.0.2.pkg | Jiao Tong University |
安装“R-4.0.2.pkg”前务必注意!⚠️⚠️⚠️:
在下载链接页面有一段小字:
Note: the use of X11 (including tcltk
) requires XQuartz to be installed since it is no longer part of OS X. Always re-install XQuartz when upgrading your macOS to a new major version.
一定要注意,这时候先按照要求把XQuartz装上,不然之后会出状况(后文简述现象)。
正常运行pkg文件,一路下一步,安装。Launchpad出现R.app的图标。当然我们一般用不着这个东西。
终端输入R并回车,应该长这样:
这样R语言相关组件就算安装好了,实在不放心也可以试试hello world:
安装IRkernel
和python在jupyter上解释需要依赖iPython、iPykernel同理,R语言脚本在jupyter上运行也依赖于一种即时的解释器内核iRkernel。和pip或者conda类似,我们也需要使用R的包管理工具先安装依赖环境。
1 | install.packages(c('repr', 'IRdisplay', 'evaluate', 'crayon', 'pbdZMQ', 'devtools', 'uuid', 'digest')) |
执行第一句脚本的时候会让选镜像仓库,这时候就可以看出问题的端倪了:如果像我一样没有安装XQuartz,就不会弹出一个类似GUI的东西让你选择仓库,而是直接命令行输入序号。如果是这样,可以先不用装这些了,先回去把XQuartz装好吧。否则就会报告如下错误:
1 | Error in (function (display = "", width, height, pointsize, gamma, bg, : |
这是因为MacOS在更新10.13版本的时候替换掉了原有的X11 module。而如果按照我之前说的先安装了XQuartz,则应该有类似这样的一个选择界面:
好了,接下来就是选择合适的仓库,然后一路安装,出现如下结果:
再执行:
1 | devtools::install_github('IRkernel/IRkernel') |
终端界面应该长这样:
退出R终端,新建一个终端输入jupyter notebook,看看右上角有没有新建R语言notebook的选项了?
这就算完事啦~
(如果还是有问题,不妨试试完全卸载后重装。⚠️注意:卸载需要按照这个教程——《OS X下卸载R语言》)