2016-01-14 15 views
6

Sto cercando di utilizzare il pacchetto SemiMarkov e voglio modificare una piccola riga di codice. Ho fatto qualche ricerca tramite:r modifica e ricostruzione pacchetto

getAnywhere("semiMarkov") 

& ho identificato che voglio cambiare questa linea:

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

di provare qualcosa di simile:

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

Come faccio andare su questo? Ho bisogno di ricostruire il pacchetto da zero, e in tal caso ho bisogno di rTools ecc per questo, o c'è una soluzione semplice (sono un novizio R rilevante)? Ho fatto qualche ricerca online e non riesco a trovare nulla di ovvio. Qualsiasi idea/suggerimento è stata apprezzata con gratitudine.

risposta

8

ambiente Linux

partire con il download del pacchetto da fonte CRAN.

Scaricare ed estrarre la fonte:

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

Ciò dovrebbe tradursi in una directory chiamata SemiMarkov . Aprire la fonte (cd SemiMarkov) e modificare secondo necessità.

Avanti, costruire le modifiche:

cd .. 
R CMD build SemiMarkov/ 

questo si tradurrà in un nuovo file di archivio chiamato SemiMarkov_1.4.2.tar.gz.

Infine, installare l'archivio modificato:

R CMD INSTALL SemiMarkov_1.4.2.tar.gz 

ambiente Windows

sono meno familiarità con la piattaforma Windows. * nix tooling è disponibile in Cygwin, ma è doloroso. Invece, come fa notare Josh O'Brien, dovresti seguire lo Windows-specific instructions nel Manuale di installazione e amministrazione di R.

+1

@Rob Il consiglio generale qui (che dovresti compilare una versione modificata del pacchetto) è ottimo.Come utente di lunga data di me stesso, però, chi ha scritto e modificato molti pacchetti, mi consiglierebbe molto fortemente ** di non provare a farlo con Cygwin. –

+1

Invece, dovresti * attentamente * seguire le [istruzioni specifiche per Windows] (https://cran.r-project.org/doc/manuals/r-release/R-admin.html#The-Windows-toolset) nel manuale di installazione e amministrazione R. (L'appendice allegata osserva, "* Questa appendice contiene molti commenti prescrittivi. Sono qui a seguito di un'esperienza amara." * Ti suggerisco di prendere sul serio questo avvertimento, se vuoi un'esperienza relativamente senza dolore!) Una volta ottenuto il set di strumenti appropriato, l'installazione del pacchetto modificato sarà semplice come eseguire 'devtools :: install (" SemiMarkov ")'. –

+0

Great pionts @ JoshO'Brien :) Spero non ti dispiaccia, ho aggiornato la mia risposta con il tuo contenuto. Sentiti libero di modificarlo! – blong

7

Se si desidera semplicemente testare l'effetto di tale modifica in una sessione R interattiva, è possibile farlo utilizzando trace(). Ecco come:

  1. Tipo trace("semiMarkov", edit=TRUE)
  2. Nel editor di testo che che lancia, modificare la riga di interesse.
  3. Salvare il file modificato.
  4. Chiudere l'editor di testo
  5. Indietro in R, utilizzare la funzione modificata.
+0

Mille grazie, questo è davvero molto utile per un rapido metodo di test e molto semplice! – Rob

Problemi correlati