r modify and rebuild package

对着背影说爱祢 提交于 2019-11-26 20:26:12

问题


I'm trying to use the SemiMarkov package and I want to change one small line of code in there. I've done some digging via:

getAnywhere("semiMarkov")

& I've identified that I want to change this line:

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

to try something like:

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

How do I go about this? Do I need to rebuild the package from scratch, and if so do I need rTools etc for this, or is there a simple-ish workaround (I'm a relevant R novice)? I've done some searching online and can't find anything obvious. Any ideas/pointers gratefully appreciated.


回答1:


Linux environment

Starting with downloading the package source from CRAN.

  • This is the landing page: https://cran.r-project.org/web/packages/SemiMarkov/index.html
  • This is the package source: https://cran.r-project.org/src/contrib/SemiMarkov_1.4.2.tar.gz

Download and extract the source:

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

This should result in a directory named SemiMarkov. Open up the source (cd SemiMarkov), and modify as necessary.

Next, build the changes:

cd ..
R CMD build SemiMarkov/

This will result in a new archive file named SemiMarkov_1.4.2.tar.gz.

Lastly, install your modified archive:

R CMD INSTALL SemiMarkov_1.4.2.tar.gz

Windows environment

I'm less familiar with the Windows platform. *nix tooling is available in Cygwin, but it's painful. Instead, as Josh O'Brien points out, you should follow the Windows-specific instructions in the R Installation and Administration manual.




回答2:


If you'd like to simply test out the effect of that change in an interactive R session, you can do so using trace(). Here's how:

  1. Type trace("semiMarkov", edit=TRUE)
  2. In the text editor that that launches, edit the line of interest.
  3. Save the modified file.
  4. Close the text editor
  5. Back in R, use the modified function.


来源:https://stackoverflow.com/questions/34800331/r-modify-and-rebuild-package

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!