R 语言入门学习笔记:软件安装踩坑记录——删除所有包以及彻底解决库包被安装到 C 盘用户目录下的问题,以及一些其他需要注意的点
R 语言入门学习笔记:软件安装踩坑记录——删除所有包以及彻底解决库包被安装到 C 盘用户目录下的问题,以及一些其他需要注意的点
最近刚刚开始学习 R 语言,想要来个速通,结果第一天就踩坑了。写个笔记放在这里记录一下。
软件版本及环境
操作系统:Windows 10 22H2
R 版本:4.4.0,安装路径
D:\Program Files\R\R-4.4.0RStdio 版本:RStudio-2024.04.1-748,安装路径
D:\Program Files\RStdio
遇到的问题描述
在 R 中安装库包:
install.packages("dplyr")
结果发现所有的包都被安装到 C 盘用户目录下面。我的 C 盘本来也没多大,本来容量就红盘。这样一安装就快爆盘了:
将程序包安装入‘C:/Users/asus/AppData/Local/R/win-library/4.4’
(因为‘lib’没有被指定)
还安装依赖关系‘fansi’, ‘utf8’, ‘pkgconfig’, ‘cli’, ‘generics’, ‘glue’, ‘lifecycle’, ‘magrittr’, ‘pillar’, ‘R6’, ‘tibble’, ‘tidyselect’, ‘vctrs’
如果遇到了相同的问题、不想看中间的细节的朋友可以直接拉到最底下看解决方案。
问题的分析和探究
使用 R 语言命令 .libPaths() 可以查看默认的 R 语言包的安装路径,发现输出结果为:
> .libPaths()
[1] "C:/Users/asus/AppData/Local/R/win-library/4.4"
[2] "D:/Program Files/R/R-4.4.0/library"
为了解决这个问题,根据 Chat 姐提供的帮助,修改 R 安装目录下的配置文件 Rprofile.site,配置文件的完整路径位于:D:\Program Files\R\R-4.4.0\etc\Rprofile.site。编辑这个文件需要管理员权限,因此可以使用下面的方法:
在 Windows 开始菜单中找到 Windows 附件 -> 记事本,选择“以管理员身份运行”。
在管理员权限下的记事本里面打开
D:\Program Files\R\R-4.4.0\etc\Rprofile.site
因为我的电脑上安装过 gsudo 和 MSYS2 Bash 以及 Vim,所以我可以直接 cd /d/Program Files/*/*/etc/ 然后 sudo vim ./Rprofile.site。
打开文件后在文件中添加如下的 R 命令:
.libPaths("D:/Program Files/R/R-4.4.0/library")
从理论上说,这个命令会在每次 R 语言启动的时候都设置 R 的语言包的安装路径为 "D:/Program Files/R/R-4.4.0/library" 装到 D 盘。但是实际上,我随即重启了 RStdio,再次执行命令:
> .libPaths()
[1] "C:/Users/asus/AppData/Local/R/win-library/4.4"
[2] "D:/Program Files/R/R-4.4.0/librar
路径并没有被修改。
这让我想起曾经初次配置 Python 的时候也遇到过类似的问题,Python 将所有的库全都装进了我的用户目录下。但 Python 和 R 不同,R 没有用户安装和全局安装这样的说法。那么这是什么原因造成的呢?
此时如果我们打开 R 语言原生的 GUI,执行相同的命令:
> .libPaths()
[1] "D:/Program Files/R/R-4.4.0/library"
会发现路径已经被变更。
究其原因,是因为 D:\Program Files 这个路径虽然不在系统盘(C盘)内,但仍然被 Windows 视作程序安装目录 C:\Program Files\ 的一个延伸,属于系统目录的一部分,因此是需要管理员权限的。而且,程序和程序之间相互的目录访问都需要管理员权限。由于直接启动 RStdio 没有管理员权限,无法加载 D:\Program Files\R\R-4.4.0\etc\Rprofile.site,从而导致配置没有生效。
最终的解决方案
折中方案
首先用下面的脚本删除所有除了基本包之外的 R 语言包:
# 获取当前的库路径列表
current_lib_paths <- .libPaths()
# 目标路径
target_path <- "D:/Program Files/R/R-4.4.0/library"
# 调整库路径顺序,使目标路径位于首位
new_lib_paths <- c(target_path, current_lib_paths[current_lib_paths != target_path])
# 设置新的库路径
.libPaths(new_lib_paths)
# 检查新的库路径
.libPaths()
每次启动 RStdio 都右键桌面或者开始菜单的快捷方式,然后选择“以管理员身份运行”。
根治方案
重装 R,安装到 D 盘根目录下D:\R\,而不是程序目录 D:\Program Files\R\。
其他在安装过程中需要注意的问题
R 语言在安装之后并不会自己添加环境变量,所以要手动把 R 安装路径下的 bin 目录追加到系统环境变量。
R 语言入门学习笔记:软件安装踩坑记录——删除所有包以及彻底解决库包被安装到 C 盘用户目录下的问题,以及一些其他需要注意的点的更多相关文章
- R语言入门学习笔记 - 对R软件的认识
一.R软件 1.安装R:自行百度☺ 2.R控制台(R Console)和R程序脚本: 打开R软件,就会直接打开控制台,控制台可以显示程序运行的结果.错误提示等信息,也可以直接输入想要执行的操作并立即返 ...
- R语言可视化学习笔记之添加p-value和显著性标记
R语言可视化学习笔记之添加p-value和显著性标记 http://www.jianshu.com/p/b7274afff14f?from=timeline 上篇文章中提了一下如何通过ggpubr ...
- 从零开始系列--R语言基础学习笔记之一 环境搭建
R是免费开源的软件,具有强大的数据处理和绘图等功能.下面是R开发环境的搭建过程. 一.点击网址 https://www.r-project.org/ ,进入"The R Project fo ...
- 从零开始系列-R语言基础学习笔记之二 数据结构(二)
在上一篇中我们一起学习了R语言的数据结构第一部分:向量.数组和矩阵,这次我们开始学习R语言的数据结构第二部分:数据框.因子和列表. 一.数据框 类似于二维数组,但不同的列可以有不同的数据类型(每一列内 ...
- R语言的学习笔记 (持续更新.....)
1. DATE 处理 1.1 日期格式一个是as.Date(XXX) 和strptime(XXX),前者为Date格式,后者为POSIXlt格式 1.2 用法:as.Date(XXX,"%Y ...
- 【C语言入门学习笔记】如何把C语言程序变成可执行文件!
环境 在ANSI的任何一种实现中,存在两种不同的环境. 翻译环境:在这个环境里,源代码被转换为可执行的机器指令. 执行环境:用于实际执行代码. 翻译环境 组成一个程序的每个源文件通过编译过程分别转成目 ...
- R语言可视化学习笔记之添加p-value和显著性标记--转载
https://www.jianshu.com/p/b7274afff14f?from=timeline #先加载包 library(ggpubr) #加载数据集ToothGrowth data(&q ...
- R语言可视化学习笔记之ggpubr包—SCI文章图
转载:https://www.jianshu.com/p/678213d605a5?from=jiantop.com Hadley Wickham创建的可视化包ggplot2可以流畅地进行优美的可视化 ...
- R语言入门视频笔记--9--随机与数据描述分析
古典概型的样本总量是一定的,且每种可能的可能性是相同的, 1.中位数:median(x) 2.百分位数:quantile(x)或者quantile(x,probe=seq(0,1,0.2)) #后面这 ...
- R语言入门视频笔记--10--数据挖掘
这里来挖掘超市购物车数据. 名词: 1.挖掘数据集:购物篮数据 2.挖掘目标:关联规则 3.关联规则:牛奶=>鸡蛋[支持度=2%,置信度=60%] 4.指出度:分析中的全部事务的2%同时购买了牛 ...
随机推荐
- [GPT] AI大模型背景下,小模型还有优势吗?
在AI大模型背景下,小的模型仍然具有一些优势. 以下是一些可能的优势: 速度和效率:相比于大模型,小模型需要更少的计算资源和时间,能够更快地完成训练和预测,并且能够在较低的硬件配置上运行. 灵活性 ...
- [公链观点] BTC 1.0, ETH 2.0, EOS 3.0, Dapp, WASM, DOT, ADA, VNT
Dapp 发展史 WASM 兼容Web的编码方式 Cardano(ADA 艾达币) 权益挖矿 VNT chain 解决联盟链和公链的跨链基础项目 跨链项目 Polkadot (DOT 波卡币) 是不是 ...
- 记因为 NVIDIA 显驱错误而让 WPF 应用启动闪退问题
本文记录一个因为 NVIDIA 显卡驱动错误而让 WPF 应用启动闪退问题 表现是 WPF 应用程序,在启动时,立刻闪退.在事件管理器看到的异常代码是 0xC0000005(Access Violat ...
- 一个随时更新的js库
1.src同级建commFunction=>timer.js 2.main.js引入 import time from '../commonFunction/time' Vue.prototyp ...
- 面试官:这就是你理解的Java多线程基础?
引言 现代的操作系统(Windows,Linux,Mac OS)等都可以同时打开多个软件(任务),这些软件在我们的感知上是同时运行的,例如我们可以一边浏览网页,一边听音乐.而CPU执行代码同一时间只能 ...
- 11、操作系统安全加固-Windows 加固
1.账号管理与认证授权 1.1.按用户类型分配账号 目的:根据系统要求,设定不同账户和组,管理员.数据库sa.审计用户.来宾用户等 实施方法: 打开本地用户和计算机管理器 或 打开运行,输入 lusr ...
- su与sudo用法详解
su与sudo用法详解 目录 su与sudo用法详解 1. su和sudo详解:切换用户身份 1.1 shell登录类型和环境配置文件 1.2 su进行身份切换 1.3 sudo命令详解 1.3.1 ...
- vue 安装教程(如何在node环境下搭建vue项目)
如果要配置node.js环境请查看(node.js环境在Window和Mac中配置,以及安装cnpm和配置Less环境)在终端输入命令 cnpm -v出现版本号 1.安装vue window : ...
- Vben-admin---ApiSelect Invalid prop: type check failed for prop "onUpdate:value". Expected Function, got Array
在basicFrom组件里添加一个ApiSelect, <template #localSearch="{ model, field }"> <ApiSelect ...
- 使用IIS部署WebDAV
服务器开启WebDAV 在服务器安装IIS的同时 要启用Windows身份验证与WebDAV发布 如果不是服务器版本,参照下图 在IIS中新建WebDAV网站 配置好本地目录与端口 启用Windows ...