如何使用同一个 R 包的多个版本?

2024-03-25

为了能够比较包的两个版本,我需要能够选择加载哪个版本的包。 R 的包系统默认设置为覆盖现有包,以便您始终拥有最新版本。我该如何覆盖这种行为?

到目前为止我的想法是:

我可以获取包源,编辑描述以给出不同的名称,并实际上构建两个不同的包。不过,我宁愿能够直接使用二进制文件,因为这样麻烦少得多。

我不一定需要同时加载两个版本的软件包(只是同时安装在某个地方)。我也许可以乱搞Sys.getenv('R_HOME')更改 R 安装软件包的位置,然后.libpaths()更改 R 查找它们的位置。这看起来很奇怪,所以有人有更好的想法吗?


您可以有选择地更改库路径。为了完全透明,请将两者都排除在您通常的路径之外,然后执行

 library(foo, lib.loc="~/dev/foo/v1")    ## loads v1

and

 library(foo, lib.loc="~/dev/foo/v2")    ## loads v2

同样适用于install.packages(), 当然。所有这些命令都有许多参数,因此您想要的挂钩可能已经存在。所以不要着眼于改变R_HOME,而是看看help(install.packages)(假设您从源安装)。

但据我所知,您不能以相同的名称加载同一个包两次。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用同一个 R 包的多个版本? 的相关文章

随机推荐

  • 为 matplotlib 文本设置固定位置

    虽然有几个问题与我的问题类似 但几乎所有问题都与文本框 图例和注释有关 使用循环 我想显示 32 个属性的具体信息 左侧的直方图和右侧的统计信息 仅处理一个属性非常简单 我将 x y 设置为文本位置 就是这样 Histogram sns d
  • MKMapView释放内存

    我遵循了几个SO问题中提供的建议 例如this one https stackoverflow com questions 20138419 stop ios 7 mkmapview from leaking memory 为了释放MKMa
  • 使用批处理变量重命名文件

    我有以下代码 set DATE date echo DATE set DAY DATE 0 2 echo DAY rename file09 txt file DAY 09 txt pause 它应该重命名一个文本文件并将该月的日期放入文件
  • 创建电报 auth_key

    我最近开始使用 telegram api 在第一阶段 我提出了接收请求auth key 这是我的 C 代码 auth key id in unencrypted message is ZERO Int64 auth key id 0 thi
  • 巨大的 WPF 视觉效果渲染不精确 - 有解决方案吗?

    在 WPF 中渲染巨大的视觉效果时 视觉效果会扭曲 并且随着坐标的增加扭曲得更加严重 我认为它与渲染管道中使用的浮点数据类型有关 但我不完全确定 无论哪种方式 我都在寻找解决问题的实际解决方案 为了演示我正在讨论的内容 我创建了一个示例应用
  • 强制浏览器每次都重新加载小程序

    我已经使用了我的小程序部署Java js http download oracle com javase 6 docs technotes guides jweb deployment advice html appletTagAttrib
  • 无法使用自定义表模型通过 table.getColumn 方法获取列索引

    我使用 AbstractTableModel 创建了一个自定义 TableModel 我能够填充我的 JTable 但我的 JTable 有一个按钮列 名为 Button1 因此 我使用 CellRenderer 方法向列添加按钮 使用 C
  • 启用/禁用带有复选框的文本区域

    我的任务是使用 JavaScript 在单击复选框时启用 打开 并在单击 关闭 时禁用它 但是 代码仍然无法工作 无论我是否单击该复选框 都不会执行任何操作 div h2 Order Information h2 div class ent
  • 如何检查 Clojure 代码是否正在 REPL 内进行计算?

    我想根据我的代码是从 REPL 运行还是运行已编译的 jar 来以不同的方式格式化我的日志 有什么简单的方法可以做到这一点吗 我在想也许 Leiningen 在运行 REPL 时会在某个地方留下痕迹 defn current stack t
  • 提取字符串 PHP 中两个字符之间的子字符串

    是否有 PHP 函数可以提取字符串中 2 个不同字符之间的短语 就像是substr Example String modid 256 First Second id substr string First Second Thus id将会2
  • PrimeNG 使用延迟加载表设置第一个页面

    我正在使用组件p table使用 Paginator 和 延迟加载 我根据需要制作了一个搜索组件 我试图解决过滤时的问题 并且页面索引位于另一页上 例子 页面索引 2过滤文本 texto 然后 我更新表上的记录和页数 但如果结果具有更多或相
  • Firebase InstanceId 无法解析标识符 swift4

    我最近更新了我的 SWIFT 应用程序 pod 文件 并且由于 firebase 版本现已更新到 5 2 现在在获取设备实例 ID 时出现以下错误 let tokenId InstanceID instanceID token error
  • 如何将一个数组的值放入另一个数组中?

    String input txtInput getText char charArray input toCharArray char flipArray null System out println charArray length f
  • 内连接三个表

    我有三个表 我希望通过它们之间的公共列进行内部连接 假设我的桌子是 TableA TableB TableC 我想加入A B 但随后也B C这一切都源于这个共同的领域 我将其称为共同的 我已经像这样连接了两个表 dbo tableA AS
  • Pandas 与正则表达式“.”不一致点元字符?

    考虑 df Cost Store 1 22 5 Store 1 Store 2 要将这些点转换为 nan 我可以使用 df replace np nan regex True Cost Store 1 22 5 Store 1 NaN St
  • 如何让Eclipse使用JDK8来编译项目?

    我正在尝试新的 jdk8 这里提供什么http jdk8 java net lambda http jdk8 java net lambda 我可以从命令行编译并运行我的项目 我还可以将这个新的 JDK 添加到Installed JREs在
  • 获取 ngComponentOutlet 的引用

    我正在使用 ngComponentOutlet 动态创建一个组件 听上去像 import Component NgModule from angular core import BrowserModule from angular plat
  • 实际上如何使用 C 库?

    我确信这个问题已经被问过很多次了 但我无法弄清楚 耐心听我说 因此 当您下载库时 您会得到一堆 c 和 h 文件 以及许多其他内容 现在假设您想使用这个库编写一个程序 我将所有 h 文件复制到我的项目目录中 它只是无法编译 太好了 然后我将
  • 如何在 Python 中将 '%' 替换为 '\x'

    我的目标是将base64编码的 EB 字符串转换为 xEB 然而 一尝试 我发现这很难 并且通过 string replace 和 re sub 都无法实现 我的代码失败如下 target EB AF B8 EB 9F AC EC 8A A
  • 如何使用同一个 R 包的多个版本?

    为了能够比较包的两个版本 我需要能够选择加载哪个版本的包 R 的包系统默认设置为覆盖现有包 以便您始终拥有最新版本 我该如何覆盖这种行为 到目前为止我的想法是 我可以获取包源 编辑描述以给出不同的名称 并实际上构建两个不同的包 不过 我宁愿