R/Rstudio/Rtools安装&配置,以及在vscode搭配jupyter使用
在使用Rstudio期间遇到的一些问题,自己摸索寻找的成功解决方法,现把方法和心得汇总分享出来,参考的相关文章也已在各自对应部分标出
1、下载安装
R 下载地址
Rstudio 下载地址
Rtools 下载地址
按顺序分别安装 R、R studio、Rtools
(不建议默认 c 盘安装,常用的话还是比较占空间的)
全部自定义安装在自己想要的盘(具体步骤略)
2、修改配置前必看
如果是直接默认 C 盘安装以及新版 R 和 Rtools 的可以跳过,这里主要是为后续的一些修改和可能的报错解决进行一些知识补充
2.1 R语言中的三个关键目录以及对应的优先级
参考文章https://zhuanlan.zhihu.com/p/509409968
一、 R_HOME:
软件的安装目录;可以通过R.home()
函数得到。
二、用户目录:
R软件的家目录(默认工作目录/我习惯称用户目录);可以通过获得
R.home()
此用户(Rstudio 使用者)非彼用户(操作系统用户)
为什么会提到这个,因为默认情况下该用户目录(HOME)是会绑定到该操作系统下的文档目录中,类似:C:/USER/USER_NAME/Documents;C:/USER/USER_NAME/文档
如果你是后者带中文,那么恭喜你,应该是逃不掉红色字体提示错误字符的报错的
该解决方案可在阅读完
配置前必看
部分后跳转到3.4 部分查看两个用户目录都是有用户的定义。但可能会在后续介绍中产生歧义,后续的用户目录如没特别指出都是代指的前者,即 Rstudio使用者的工作目录(HOME)。
旧版本非常 bug 的一点是
使用
path.expand("~")
会输出你的默认用户目录 HOME ,这表示~其实可以代表用户目录的路径(类似 linux 的~);(我之前已经将HOME 更换到了一个自定义的路径)
但如果你运行命令
file.edit(file.path("~",".Rprofile"))
,你会发现他会仍然在你的操作系统用户文档目录(C:\Users\user_name\Documents)下创建一个.Rprofile 文件。所以,如果你和我一样对一些工作路径和用户目录进行过自定义修改的话,请运行命令时尽量使用完整的绝对路径,不要使用'~'进行代指,很容易出现 bug ,在后续3.3修改配置文件更改工作路径以及换源(这一part 里笔者亲测倒是可以正常识别
HOME
)中都是如此
高版本非常 bug 的一点是
在3.4 部分使用解决方法1修改文件内容后,使用Rstudio查看HOME路径,仍旧显示为默认的文档路径,但是在你想要修改的HOME路径下,如果存在.Rprofile文件,其中的配置内容依旧生效(前提是你已经将代码正确插入到 .Rprofile文件当中)。
解决方法是:
1、默认HOME路径下创建.Renviron文件,在代码内添加指定的HOME路径,举例如下:
HOME="E:\R_workplace"
重启Rstudio后会发现HOME路径更改,并且你的.Rprofile设置也已生效
(个人猜测是R先启动其他默认文件,指向默认HOME路径,然后启动该路径下Renviron文件,进行对应路径变量的修改,然后启动.Rprofile文件修改)如果有清楚的朋友麻烦留言或者私信我,我好及时纠正
2、懒得更改HOME路径,采用解决方法2解决可能的报错即可,可直接使用命令创建或修改.Rprofile文件内容
file.edit(file.path("~",".Rprofile"))
后续步骤主要是基于旧版本R(4.1.0),如果使用的是高版本R,请先阅读两个bug的说明,然后再往后看并视需要做出可能的步骤调整即可
三、当前工作目录(Current working directory):
是R软件的当前工作目录。可以通过getwd()
获得,对配置文件进行修改或者使用 Rtools 都可以进行修改
三个目录优先级
Current project > Home > R_Home
具体区别
.Rhistory
文件保存在当前工作路径当中,即设置的 E:/
,产生的工作文件都在这
用户目录 HOME 当中存放.Renviron
和.Rprofile
等配置文件,一般来说需要使用命令自行添加或修改文件。
R_HOME 目录是 R 软件的安装目录,一般不会动他,除非需要手动配置环境变量识别 R(还没遇到这情况)
2.2 R的启动流程读取的文件
R每次启动的时候都会读取两个文件:
-
.Renviron
:主要作用是设置环境变量,告诉R在哪里寻找外部程序,可以自定义用户信息。配置Rtools环境
中会用到。 -
.Rprofile
:每次R启动的时候会运行里面的代码,所以如果里面设置的很多代码,R启动就会变慢。更改镜像源
会用到
R语言通过Rprofile.site文件、自定义配置R语言开发环境启动参数、关闭参数、使用file.edit函数编辑配置文件
(本教程没用上,其他教程可能会用到)
在Rprofile.site中使用.libPaths更改R默认库路径失败-腾讯云开发者社区-腾讯云
对折腾配置文件,R 语言启动自定义环境等感兴趣的可以看这篇文章,写的很好,深入浅出,适合爱折腾的
3、Rstudio 配置
3.1 自定义工作目录、选择 R 版本
工具栏---Tools---Global option
3.2 解决文件中文识别成代码
保存格式改为 utf-8
3.3 更改镜像源
一、代码文件修改
运行命令
file.edit(file.path("~",".Rprofile"))
(如果已经修改过用户目录,那么请把~修改为你的用户目录,或者直接在该路径下创建
.Rprofile
文件)
在文件中添加你想要更换的镜像
options("repos"= c(CRAN="https://mirrors.pku.edu.cn/CRAN/","http://mirrors.aliyun.com/CRAN"))
print("已设置北大阿里云镜像") ## 可选
同样可在该文件内设置当前工作目录的路径,但不建议,使用 Rtools 修改方便又好用。
可能在保存文件并重启后出现屏显中文如
已设置北大阿里云镜像
为一串乱码的情况,那么请参照上一步先修改编码格式,如问题依旧存在,那么请 先打开该
.Rprofile
文件,然后 File-Reopen with Encoding-选择 CP936-点击 OK会看到文件内容变成如下情况,然后把乱码替换成正确的中文后保存文件并重启 Rstudio 即可
It works
二、 Rstudio 可视化修改
配置文件修改优先级>Rtools 内修改优先级
3.4 解决默认用户目录含中文报错
出错情况:getwd()或者安装相关包时都会出现的红色字体报错
与工作目录设置没有任何关系,纯属 R 默认用户目录中文识别太差
解决方案 1(高版本R此方案好像无效,无法通过添加代码进行HOME路径修改)
打开 R 的安装目录 找到 Rprofile 文件
|
使用记事本或者 vscode 打开编辑
跳转到第 110-120 行附近,插入代码
Sys.setenv(R_USER="E:/R_workplace")
理论上该目录就是.Rhistory 的默认保存地
...
###-*- R -*-
Sys.setenv(R_USER="E:/R_workplace")
## this will break if R is on a network share
...
保存后重启 Rstudio 即可
解决方案 2
报错的根本原因: 默认情况下用户主目录识别在'文档'路径下,如:C:\Users\your_username\文档
所以文档
会被识别成 ??
解决思路:将文档
改为 document
找到文档
文件夹位置,右键文件夹-属性,修改
4、Rtools 配置
因为存在某些包需要远古版本 Rtools 搭配特定版本 R 使用才能下载安装,所以该部分的教程步骤主要是方便适配 Rtools40 和 R from version 4.0.0 to 4.1.3
较高版本会自动适配环境变量等问题(大概)
4.1、 添加环境变量
我的电脑 -> 属性 ->高级系统设置
打开环境变量,选择系统变量-path
添加以下三个变量(根据你的 Rtools 安装路径进行修改)
4.2、绑定 Rstudio(Rtools40 需要,后续更新版本可以尝试跳过,如果报错则同样参考此步骤)
在 Rtudio 中根据自己的用户目录,修改并运行代码(运行后看看该文件是不是真的创建在该目录下,没有的话把~也更改成目录的绝对路径)
## 官方代码
writeLines('PATH="${RTOOLS40_HOME}\\usr\\bin;${PATH}"', con = "~/.Renviron")
## 作用是在修改后的用户目录下创建一个.Renviron文件指向Rtools,所以如果按照前面步骤出现过中文报错进行相关用户默认目录修改的朋友这一步最好不要按照官方默认的代码来
##修改举例
writeLines('PATH="F:\\R\\rtools40\\usr\\bin;${PATH}"', con = "~/.Renviron")
重启 Rstudio(管理员运行) 后运行代码
存在有人在重启后运行命令仍出现问题,如有相同情况,采用管理员运行可以解决(建议 R studio 默认管理员运行)
Sys.which("make")
设置软件默认管理员运行
右键图标-属性 -兼容性设置,勾选管理员运行
5、R包安装与使用的常见问题和解决方法
5.1 package not avaliable
Warning in install.packages :
package ‘idmap1’ is not available for this version of R
A version of this package for your version of R might be available elsewhere,
see the ideas at
https://cran.r-project.org/doc/manuals/r-patched/R-admin.html#Installing-packages
原因 1(生物学的同学遇到该情况的最大可能原因):安装命令使用错误,不出自cran,企图用install.packages安装bioconductor 的包(前朝的剑斩不了当朝的官)
解决方法 1:安装一个BiocManager
if (!require("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install(version = "3.14") #根据你的R版本适配,可以直接先运行然后根据报错修改
安装R包的命令有2个:
一个是用R自带的命令
install.packages("package_name")
另外一个就是通过刚刚安装的BiocManager安装,首先加载BiocManager
library(BiocManager)
再安装
BiocManager::install("package_name")
解决方法 2: 有的包不在CRAN里面,但是在RForge里有
原因 2:包被淘汰了
解决方法:换旧版本 R
5.2 等我遇到再说
在 Vscode 中搭配 jupyter notebook 使用 R
1、安装 vscode、jupyter
本文不对 vscode、jupyter 的安装部署进行介绍,可自行进行相关教程搜索,该教程默认你已经是一名熟练的 user in vscode use jupyter notebook run python
2、 安装 vcode 相关插件
安装R 、Rdebugger
3、vscode 设置关联 R
ctrl+,
打开设置 GUI 界面,输入rpath下拉找到 R 拓展设置-Rpath:Windows,添加绑定你的 R 安装路径
举例:F:/R/R-4.1.3/bin/R.exe
Rterm:Option 部分设置添加项 设置规则(可自定义)
1. `--no-site-file`:禁用site文件。R解释器通常会在启动时读取一个site文件,其中包含了一些全局配置。使用`--no-site-file`选项将禁用对这个文件的读取,从而在启动时不应用site文件中的配置。
2. `--no-restore`:不要恢复工作空间。R解释器通常会尝试在启动时恢复先前的工作空间,即之前的会话状态。使用`--no-restore`选项将禁用这个恢复过程,从而启动一个新的、空的工作空间。
3. `--no-save`:不要保存工作空间。与`--no-restore`相对,该选项指示R解释器在退出时不保存当前的工作空间状态。这样,下次启动R时,将启动一个新的、空的工作空间。
4、设置Jupyter Notebook文件解释器为R
在 Rstudio 中运行下列命令
install.packages('IRkernel')
IRkernel::installspec()
然后 vscode 中新建 jupyter notebook 更换 ipkernal
然后可以尝试运行命令检查是否生效
path.expand("~")
在此期间可能会有 vscode 的报错提示需要你进行一些对应的安装(language server?),记得点击确定
更多推荐
所有评论(0)