Attualmente sto convertendo un articolo JSS, che utilizza knitr
, in una vignetta del pacchetto R . Tuttavia, sono in dubbio sul posizionamento delle vignette, sulla struttura e su come dovrei gestire i lunghissimi tempi di calcolo che richiede circa 2 giorni su un laptop normale.Vignette R computazionalmente pesanti
Il official documentation offre poche o nessuna informazione in merito. Una piccola nota in una risposta nello mailing list è l'unica informazione che trovo durante la ricerca. Brian Ripley scrive qui:
In particolare, CRAN non accetta pacchetti con vignette Sweave che prendono troppo tempo per verificare - si prende circa 8 ore [...]. Chiediamo solo che ci viene detto così su presentazione.
Hadley Wickham's description di vignette dice di impostare eval = FALSE
come l'opzione di blocco. Tuttavia, questo non è un approccio praticabile nel mio caso in quanto sono necessari i dati generati dai calcoli.
This presentation suggerisce di utilizzare /inst/doc
per vignette precompilate e pesanti. Tuttavia, ciò non concorda molto bene con le nuove linee guida sull'uso di /vignettes
per le vignette dei pacchetti (o cosa?).
Attualmente, ho inserito i miei file di origine in /vignettes
e creo un file .RData
che contiene gli oggetti più costosi dal punto di vista computazionale (e che è anche abbastanza grande). Gli script quindi controllano se gli oggetti sono disponibili attraverso il file .RData
, in caso contrario, gli oggetti vengono creati. Quindi compilare ed eseguire completamente da zero, il file .RData
può essere semplicemente cancellato.
Qualcuno ha qualche esperienza o indicazioni su questo problema? La vignetta dovrebbe essere in /vignettes
o /inst/doc
? Se il primo è preferito, dove posiziono i file necessari come .bib
, .RData
, ecc.? Devo ammettere che trovo il /vignettes
vs /inst/doc
un po 'confuso.
Sfortunatamente, questa è una domanda di politica CRAN, non una domanda di programmazione. La migliore risposta arriverà da una email a CRAN. Potresti provare anche r-devel, ma ho il sospetto che ti diranno di chiedere anche a CRAN. – Thomas
@Thomas Sì, lo vedo ora. Immagino che questo sia stato anche un tentativo di evitare di disturbare i manutentori del CRAN (che sono sicuro che hanno già troppo poco tempo) e di sentire se e come gli altri hanno gestito problemi simili. Se non è inappropriato, lascerò qui la domanda e invierò un'e-mail ai manutentori in seguito se non viene visualizzato nulla. –
Ha senso. Se ricevi una risposta da CRAN, ti incoraggio a postare la risposta qui in modo che altri possano trovarla. Sono persone impegnate, ma è anche il loro compito (per lo più auto-nominato) di mantenere il sistema, quindi se i loro file di aiuto non sono chiari, è loro la responsabilità di chiarire le cose. – Thomas