2013-02-20 8 views
26

In R, cosa significa per un pacchetto essere "caricato tramite uno spazio dei nomi (e non collegato)" in sessionInfo()?In R, cosa significa "caricato tramite uno spazio dei nomi (e non allegato)" significa?

Edit:

Ad esempio:

> sessionInfo() 

R version 2.15.2 (2012-10-26) 
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit) 

locale: 
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

---->>>> loaded via a namespace (and not attached): 
---->>>> [1] tools_2.15.2 
+0

suo quei pacchetti che sono 'suggested' da altri pacchetti, e non sono caricato (per accedere direttamente dall'utente, dovrei aggiungere). – Arun

risposta

15

Significa pacchetto (in questo caso R) possono accedere alle funzioni del pacchetto/oggetti, ma l'utente non può senza caricare esplicitamente gli strumenti pacchetto in cui statistiche, grafica, ecc. sono caricati e pronti per l'utente.

Ecco un esempio:

sessionInfo() 
file_ext("file.com") 
tools::file_ext("file.com") 
sessionInfo() 
14

Quando si valuta library(foo), R carichi primo pacchetto foo a memoria, e quindi attribuisce il pacchetto al percorso search(). Altre operazioni, come loadNamespace("foo") o foo::fun, o quando una terza parte indica che importa simboli da foo, caricare il pacchetto ma non collegarlo al percorso di ricerca. Poiché R è un linguaggio dinamico, ogni chiamata di funzione comporta un attraversamento dei simboli disponibili per trovare il primo che corrisponde. È efficiente ed evita conflitti di nomi non necessari, separando le operazioni di collegamento e caricamento e quindi restringendo il numero di simboli da cercare.

Nell'esempio sopra, il pacchetto strumenti è stato caricato, ma non (ancora) allegato. Quando si digita un simbolo al prompt dei comandi R, R cerca prima il simbolo nello spazio dei nomi globale (il primo elemento restituito da search() e se non trovato poi negli elementi successivi di search(). Poiché gli strumenti non sono allegati, i simboli in strumenti non sono risolte.

> file_ext 
Error: object 'file_ext' not found 

Tuttavia, si ha accesso a loro con tools::file_ext, se gli strumenti è sul percorso di ricerca o no.

+0

Esiste una differenza tra lo spazio dei nomi caricato e lo spazio dei nomi scaricato, poiché entrambi possono chiamare la funzione usando packagename esplicito: funzione – cloudscomputes