2013-10-30 6 views
17

Appena visto questo:Rscript non carica il pacchetto dei metodi, R lo fa - perché e quali sono le conseguenze?

$ Rscript -e "sessionInfo()['basePkgs']" 
$basePkgs 
[1] "stats"  "graphics" "grDevices" "utils"  "datasets" "base" 

$ R --vanilla --slave -e "sessionInfo()['basePkgs']" 
$basePkgs 
[1] "stats"  "graphics" "grDevices" "utils"  "datasets" "methods" 
[7] "base" 

Il pacchetto methods sembra essere sempre disponibili durante l'esecuzione R, ma non con Rscript. Sospetto che questo sia per ottenere prestazioni, ma ci sono implicazioni pratiche oltre all'ovvio? Sto chiedendo a causa di un funny bug che viene attivato dalla presenza o assenza del pacchetto methods.

+0

È sempre possibile caricare un pacchetto in modo esplicito aggiungendo 'library (methods)' al filetto relativo a .Rprofile –

+1

su r-devel: http://r.789695.n4.nabble.com/advise-on-Depends- tp4678930p4679079.html – GSee

+3

'? Rscript' ti dice perché omette il pacchetto dei metodi," L'impostazione predefinita per 'Rscript' omette' metodi' poiché richiede circa il 60% del tempo di avvio. " –

risposta

11

In base a ?Rscript il pacchetto di metodi non viene caricato perché "L'impostazione predefinita per Rscript omette i metodi poiché richiede circa il 60% del tempo di avvio."

+3

Questa piccola accelerazione è un orribile motivo per fare qualcosa così vilmente. Fa sì che vari codici R vengano eseguiti in modi diversi in modo imprevedibile con 'R' e' Rscript'. Sulla mia macchina, 'echo 7 | R' richiede 0,15 secondi e 'Rscript -e 7' richiede 0,07 secondi. Difficilmente qualcosa vale la spiacevole azione a distanza che provoca. –

+0

... e scusa per aver commentato una vecchia domanda e risposta, ma 3 scienziati del mio gruppo hanno appena condiviso storie dell'orrore di perdere giorni alla volta scoprendo questo comportamento, quindi ho voluto inserire un commento sulla prima domanda SO applicabile che Google ha trovato per me. =) –