直接操作
最近因为不得已的原因。我又切换回了win 系统。
忽然发现我的C 盘已经满了, 赶紧看了一下我的R 是否贡献了大小:
代码语言:javascript复制> .libPaths()
[1] "C:/Users/lenovo/Documents/R/win-library/4.0" "E:/Program Files/Microsoft/R Open/R-4.0.2/library"
虽然贡献并不大,但这里我还是决定修改一下默认的安装位置:
现在已经安装好的R 我就暂时不管了。因为我们可以为R 读取包的路径设置多个,接下来我还做了一些其他设定:
- 增加一个机械硬盘中的目录,专门给那些大的R 包准备,比如基因组数据等等;
- 增加一个固态下的目录,并同步到坚果云等同步盘中,文件名设置为
操作系统-R版本
的格式,专门存放那些经常使用且内容并不太大的R 包,比如哈德雷老哥全家套等等。
Rprofile,设置如下:
代码语言:javascript复制# 更改一下R 的安装顺序
.libPaths(c("E:/Program Files/Microsoft/R Open/R-4.0.2/library",
"C:/Users/lenovo/Documents/R/win-library/4.0",
"D:/Big-R-Lirary", "R-4-WIN"))
这里设置就代表我们默认安装的路径已经变成了E 盘对应的文件。
那么该如何在特定情况下,将R 包安装到指定位置呢?
这里需要借助参数lib:
代码语言:javascript复制install.packages(pacman, lib = "xxx")
这时候你就可以将路径指向其他目录了:
- 机械硬盘中的目录,专门给那些大的R 包准备
- 固态下的目录,并同步到坚果云等同步盘中
也就对应了我上文中的后两个路径。
个人感觉总是查找.libpath 有点麻烦,写个简单的函数吧:
代码语言:javascript复制getLibPath <- function(){
tmp <- data.frame(t1 = paste0("p", 1:length(.libPaths())))
tmp$t2 <- .libPaths()
return(tmp)
}
> getLibPath()
t1 t2
1 p1 E:/Program Files/Microsoft/R Open/R-4.0.2/library
2 p2 C:/Users/lenovo/Documents/R/win-library/4.0
3 p3 D:/BIG-R-Library
4 p4 E:/R-4-WIN
需要的时候直接输入t1 列找到t2 中值即可。当然你也可以修改t1 列中的名称,随你便~
坚果云同步,我也写过笔记:好物分享第八弹——用坚果云同步你的一切!(qq.com)
这里再多一嘴destdir 参数,它表示下载的R 包压缩数据存放的位置,默认为NULL,表示将默认下载到R 启动所在的工作目录,比如你用的Rproj 则在Rproj 下。这个个人认为无需多虑,毕竟随着这个R会话关闭,R 是会自动清理的。
额外内容
win 其实提供了一个很好的寻找大文件的方式:
打开方式为:进入“设置”窗口,选择“系统→存储”。