r 修改和重建包

r modify and rebuild package

我正在尝试使用 SemiMarkov 包,我想更改其中的一小行代码。我已经通过以下方式进行了一些挖掘:

getAnywhere("semiMarkov")

& 我确定要更改此行:

hessian <- diag(ginv(hessian(V, solution)))

尝试类似的东西:

hessian <- diag(ginv(pracma::hessian(V, solution)))

我该怎么做?我是否需要从头开始重建包,如果需要,我需要 rTools 等,还是有一个简单的解决方法(我是相关的 R 新手)?我在网上做了一些搜索,但找不到任何明显的东西。任何ideas/pointers感激不尽。

Linux环境

从 CRAN 下载包源开始。

下载并解压源:

wget https://cran.r-project.org/src/contrib/SemiMarkov_1.4.2.tar.gz
tar -xvzf SemiMarkov_1.4.2.tar.gz

这应该会产生一个名为 SemiMarkov 的目录。打开源代码 (cd SemiMarkov),并根据需要进行修改。

接下来,构建更改:

cd ..
R CMD build SemiMarkov/

这将生成一个名为 SemiMarkov_1.4.2.tar.gz 的新存档文件。

最后,安装修改后的存档:

R CMD INSTALL SemiMarkov_1.4.2.tar.gz

Windows环境

我对 Windows 平台不太熟悉。 *nix 工具在 Cygwin 中可用,但它很痛苦。相反,正如 Josh O'Brien 指出的那样,您应该遵循 R 安装和管理手册中的 Windows-specific instructions

如果您想在交互式 R 会话中简单地测试该更改的效果,您可以使用 trace() 来实现。方法如下:

  1. 类型trace("semiMarkov", edit=TRUE)
  2. 在启动的文本编辑器中,编辑感兴趣的行。
  3. 保存修改后的文件。
  4. 关闭文本编辑器
  5. 返回 R,使用修改后的函数。