2013-03-04 6 views
11

Se definisco una funzione in R, posso salvare l'oggetto funzione utilizzando la funzione di salvataggio. Quindi posso caricare quell'oggetto funzione usando la funzione load e usarlo direttamente. Tuttavia, se ho una funzione rcpp, e se provo a salvare la versione compilata e la carica nella memoria, non posso più usare direttamente quell'oggetto funzione. È possibile? Il motivo per cui lo chiedo è perché ci vuole un po 'per compilare la funzione, e se c'è un modo per evitare quel costo ogni volta che lancio un ambiente R, sarà fantastico. Grazie!Rcpp: salva la funzione compilata come Robj

risposta

12

No, in generale non è possibile serializzare (e quindi salvare) una funzione compilata con cxxfunction() o sourceCpp(). È necessario compilarlo di recente, a meno che non lo si inserisca in un pacchetto. Questo è il motivo per cui i pacchetti sono la strada da percorrere per installare veramente il codice compilato oltre la rapida sperimentazione.

+2

Piacere. Puoi scegliere di "accettare" questa risposta selezionando il segno di spunta solo tu come la persona che chiede di vedere. –