Lavoro con apprendimento automatico con set di dati abbastanza grandi (sono ancora in memoria) e ho scritto alcuni calcoli in R, che ritengo troppo lenti. Quindi vorrei sostituire le "parti critiche" del programma con un codice compilato che chiamerei da R. Un problema di esempio che ho in mano sta implementando lo forward-backward algorithm.Devo imparare Fortran o C++ ad estendere R?
La mia domanda è se dovrei imparare Fortran o C++ per fare questo? Ho solo bisogno di lavorare con i vettori numerici o le matrici. Sono principalmente interessato a quale lingua è più facile da imparare e interfaccia da R e non mi interessa davvero quale sia la migliore sul mio CV.
Ho letto il manuale delle estensioni R e ho giocato un po 'con il pacchetto inline con un semplice codice Fortran e C++. La mia impressione attuale è che Fortran95 sarebbe più semplice da imparare, anche se il pacchetto Rcpp sembra molto interessante. Attualmente conosco R, Python e Matlab.
Il tuo codice R è già stato vettorizzato? Esistono molti modi per ottimizzare il codice R senza codice C++/Fortan esterno. Buona domanda comunque, +1. – Marek
Sì, ho provato a vettorizzare tutto ciò che posso. Ho bisogno di eseguire alcune iterazioni (AFAIK) che non possono essere vettorializzate e ho bisogno di usare un ciclo. –
Non hai considerato C? – Shane