web-dev-qa-db-fra.com

r modifier et reconstruire le package

J'essaie d'utiliser le package SemiMarkov et je veux y changer une petite ligne de code. J'ai fait quelques recherches via:

getAnywhere("semiMarkov")

& J'ai identifié que je veux changer cette ligne:

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

pour essayer quelque chose comme:

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

Comment dois-je procéder? Dois-je reconstruire le package à partir de zéro, et si oui, ai-je besoin de rTools, etc. pour cela, ou existe-t-il une solution de contournement simple (je suis un novice R pertinent)? J'ai fait quelques recherches en ligne et je ne trouve rien d'évident. Toutes les idées/conseils appréciés avec reconnaissance.

15
Rob

Environnement Linux

Commençons par télécharger la source du package à partir de CRAN.

Téléchargez et extrayez la source:

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

Il devrait en résulter un répertoire nommé SemiMarkov. Ouvrez la source (cd SemiMarkov), et modifiez si nécessaire.

Ensuite, générez les modifications:

cd ..
R CMD build SemiMarkov/

Cela se traduira par un nouveau fichier d'archive nommé SemiMarkov_1.4.2.tar.gz.

Enfin, installez votre archive modifiée:

R CMD INSTALL SemiMarkov_1.4.2.tar.gz

Environnement Windows

Je connais moins la plate-forme Windows. * L'outil nix est disponible dans Cygwin, mais c'est pénible. Au lieu de cela, comme le souligne Josh O'Brien, vous devez suivre les instructions spécifiques à Windows dans le manuel d'installation et d'administration de R.

17
blong

Si vous souhaitez simplement tester l'effet de ce changement dans une session R interactive, vous pouvez le faire en utilisant trace(). Voici comment:

  1. Tapez trace("semiMarkov", edit=TRUE)
  2. Dans l'éditeur de texte qui démarre, modifiez la ligne d'intérêt.
  3. Enregistrez le fichier modifié.
  4. Fermez l'éditeur de texte
  5. De retour dans R, utilisez la fonction modifiée.
20
Josh O'Brien