从 Github 安装 R packages 不完全指南

前言

  R语言,一个被广泛使用的统计计算和数据分析工具。在日常使用过程中,需要安装实现各种功能、来自各种渠道的工具包(packages)比如:CRNA或者Github。很多包已经发布在 CRAN 上,使用 install.packages("package/name") 就可以直接安装。但有时我们需要从 GitHub 安装,特别是一些最新或尚未发布到 CRAN 的工具。正好最近遇到个小问题,顺手记录一下。😑

从 CRNA 安装

一般的安装方式,比如安装个dplyr:

# The easiest way to get dplyr is to install the whole tidyverse:
install.packages("tidyverse")# Alternatively, install just dplyr:
install.packages("dplyr")# Development version
# install.packages("pak")
pak::pak("tidyverse/dplyr")

使用 devtools 从 Github 安装

devtools 提供了从 GitHub 安装 R 包的便捷方式。不仅简化了开发 R 包的流程,还提供了另一种发布和分发 R 包的途径。

安装:

# Install devtools from CRAN
install.packages("devtools")# Or the development version from GitHub:
# install.packages("pak")
pak::pak("r-lib/devtools")

之后就可以从 Github 安装工具了,比如:再从 Github 安装一下 development versiondevtools:

devtools::install_github("hadley/devtools")

总结一下,该方法需要明确指定开发者的用户名和工具名称,格式为 DeveloperName/PackageName,但是很多时候,我们不容易清楚正确的记住开发者和工具的名字,只是记住了R包的名字,这可能是它在使用上的一个小缺点。官方使用方法的 Cheatsheet:devtools 使用方法,如果访问不了,可以私聊我。

Bad credentials 凭据不正确

最近在使用 devtools::install_github("davidsjoberg/ggsankey")这段代码安装工具的时候遇到个小问题:

Error: Failed to install 'unknown package' from GitHub:HTTP error 401.Bad credentialsRate limit remaining: 1/60Rate limit reset at: 2024-......

出现了类似的报错,这种错误通常与 GitHub 的个人访问令牌(Personal Access Token,PAT)有关。解决方法如下:

# 检查是否设置了个人令牌
Sys.getenv("GITHUB_PAT")# 移除
Sys.unsetenv("GITHUB_PAT")# 重新安装
devtools::install_github("davidsjoberg/ggsankey")

如果问题仍然存在,考虑以下附加步骤:

生成新 PAT:访问 GitHub Token 设置 以生成新令牌。在 R 中设置新 PAT:Sys.setenv(GITHUB_PAT = 'your_new_pat'),再次安装:remotes::install_github("coolbutuseless/ggpattern", force = TRUE)

这些步骤应该也许大概可以解决……

其他工具

当然,除了 devtools ,不乏其他的同类型工具,比如 remotesgithubinstall 等,githubinstall这个工具,可以根据 R 包名字给使用者提示,一定程度上解决了记不住开发者和工具名字的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/43396.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Dison夏令营 Day 13】使用 Python 创建扫雷游戏

在本文中,我们将介绍如何使用 Python 语言创建自己的基于终端的扫雷程序。 关于游戏 1992年4月6日,扫雷和纸牌、空当接龙等小游戏搭载在Windows 3.1系统中与用户见面,主要目的是让用户训练使用鼠标。扫雷是一款单人游戏,这个游戏…

Linux系统下anaconda的安装与Pytorch环境的下载

首先,在命令行通过cd命令,进入用户文件夹 cd xxx/xxx/username进入anaconda官网https://repo.anaconda.com/archive/,寻找anaconda下载包资源,这里选择最新的anaconda下载包 Anaconda3-2024.06-1-Linux-x86_64.sh 在命令行执行安…

Python爬虫-获取懂车帝“指定车型”的销量数据

前言 本文是该专栏的第33篇,后面会持续分享python爬虫干货知识,记得关注。 在本专栏之前,笔者有详细介绍关于懂车平台的相关爬虫,如下所示: 1. Python爬虫-新能源汽车对应的“年份月份”销量榜 2. Python爬虫-懂车帝城市销量榜单 3. Python爬虫-新能源汽车销量榜 4. Pyth…

:-1: error: ninja: build stopped: subcommand failed.

错误解释: 这个错误通常出现在使用Ninja构建系统进行软件编译时。Ninja是一个小型的构建系统,它比make更快,因为它直接调用指定的命令来执行构建,而不是像make那样通过一套复杂的规则和依赖关系来进行。如果在Ninja构建过程中遇到…

气膜建筑如何在文化旅游行业中应用—轻空间

一、气膜建筑简介 气膜建筑是一种新型建筑形式,其主要结构由高强度膜材、空气支撑系统和固定系统组成。通过不断向膜体内部充气,使其形成稳定的内部压力来支撑整个建筑结构。气膜建筑因其建设速度快、成本相对较低、环保节能等优点,近年来在各…

阶段三:项目开发---大数据开发运行环境搭建:任务3:安装配置Hadoop集群

任务描述 知识点:安装配置Hadoop 重 点: 安装配置Hadoop 难 点:无 内 容: Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威…

Linux系统编程——线程控制

目录 一,关于线程控制 二,线程创建 2.1 pthread_create函数 2.2 ps命令查看线程信息 三,线程等待 3.1 pthread_join函数 3.2 创建多个线程 3.3 pthread_join第二个参数 四,线程终止 4.1 关于线程终止 4.2 pthread_exit…

【软件设计师】九、数据流图、UML图

知识点1:数据流图 数据路流图亦称为数据流程图,一种便于用户理解,分析系统数据流称的图形工具;买哦书系统的功能,输入,输出,数据存储等; 知识点2:数据字典 数据流&…

深度学习 - 模型剪枝技术详解

模型剪枝简介 模型剪枝(Model Pruning)是一种通过减少模型参数来降低模型复杂性的方法,从而加快推理速度并减少内存消耗,同时尽量不显著降低模型性能。这种技术特别适用于资源受限的设备,如移动设备和嵌入式系统。模型…

提示词工程课程,白嫖A100活动课程

扫下面二维码即可参加 免费使用A100,学习大模型相关知识! 前置知识: 内容来源:Docs 模型设置 在使用提示词的时候,您会通过 API 或者网页版与大语言模型进行交互,将这些参数、设置调整到最佳程度会提高使…

面试题 12. 矩阵中的路径

矩阵中的路径 题目描述示例 题解 题目描述 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成&#xff0…

14-47 剑和诗人21 - 2024年如何打造AI创业公司

​​​​​ 2024 年,随着人工智能继续快速发展并融入几乎所有行业,创建一家人工智能初创公司将带来巨大的机遇。然而,在吸引资金、招聘人才、开发专有技术以及将产品推向市场方面,人工智能初创公司也面临着相当大的挑战。 让我来…

UML中用例和用例图的概念

用例 用例模型的基本组成部分有用例、参与者(或角色)和系统。用例用于描述系统的功能,也就是从用户的角度来说,系统具体应包含哪些功能,从而帮助分析人员理解系统的行为。它是对系统功能的宏观的、整体的描述。一个完…

idea中的块映射中的子元素无效

在yml文件中,出现块映射中的子元素无效,如图: 在YAML文件中,通常需要在键和值之间添加空格,以确保文件的可读性和正确解析。一些YAML解析器可能要求在冒号后面必须有空格才能正确解析文件。如果不加空格,解…

TEE开发Secure driver介绍-TEE安全驱动/trustzone

快速链接: . 👉👉👉 个人博客笔记导读目录(全部) 👈👈👈 付费专栏-付费课程 【购买须知】:【精选】TEE从入门到精通-[目录] 👈👈👈思考: 如何开发一个TA? sdk又是什么?开发一个TA的流程是怎样的?How to do?有关TA的签名介绍TEE开发Secure driver介绍RP…

RedHat运维-Linux存储管理基础3-创建并扩展逻辑卷

逻辑卷的核心:____________________________________________; 逻辑卷的核心:____________________________________________; 逻辑卷的核心:____________________________________________; 1. 已知/dev/s…

使用Zipkin与Spring Cloud Sleuth进行分布式跟踪

在微服务架构中,服务之间的调用链路可能非常复杂,这使得问题定位和性能优化变得困难。为了解决这个问题,我们可以使用分布式跟踪系统来监控和诊断整个微服务架构中的请求链路。Zipkin和Spring Cloud Sleuth是两个非常流行的工具,它…

华为HCIP Datacom H12-821 卷32

1、默认情况下,IS-IS Leve1-1-2路由器会将Leve1-2区域的明细路由信息发布到Level-1区域、保证level-1区域的路由器能够正常访问骨干区域的设备 A、对 B、错 正确答案: B 解析:不会发布,需要用到路由泄露。 2、BGP在建立邻居…

JAVA中关于compareTo方法的原理深挖

一、compareTo()方法 在深挖compareTo方法前,首先我们需要了解compareTo方法的来龙去脉。compareTo方法的目的是用来比较两个对象的大小的。假如有两个对象a1,a2。包含姓名,年龄,身高三个属性,现在要求根据年龄或者性…

变长输入神经网络设计

我对使用 PyTorch 可以轻松构建动态神经网络的想法很感兴趣,因此我决定尝试一下。 我脑海中的应用程序具有可变数量的相同类型的输入。对于可变数量的输入,已经使用了循环或递归神经网络。但是,这些结构在给定行的输入之间施加了一些顺序或层…