2016-04-26 15 views
7

Sto eseguendo R su un computer in rete in cui non ho accesso in scrittura alla maggior parte delle posizioni sull'unità C. Tuttavia, il mio reparto IT ha deciso di caricare l'intero repository CRAN nel percorso della libreria di default sull'unità C. Preferirei decisamente gestire i miei pacchetti da solo e avere una posizione sulla mia unità di rete su cui posso installare, ma sto cercando di far sì che R ignori e dimentichi completamente la posizione del drive C.Come modificare e rimuovere la posizione della libreria predefinita?

Ho provato a creare un file .Rprofile per impostare la posizione della libreria, ma non importa cosa faccio, .libPaths() non sembra dimenticare la posizione predefinita. Ho provato quanto segue:

.Library <- file.path("N:/My Documents/R/win-library/3.2") 
.Library.site <- file.path("N:/My Documents/R/win-library/3.2") 
.lib.loc <- file.path("N:/My Documents/R/win-library/3.2") 
.libPaths(.libPaths()) 

Dove il percorso sul disco N è la nuova posizione Voglio essere l'unico percorso della libreria. Ma quando si riavvia R e correre .libPaths(), continuo a vedere questo:

[1] "\\\\fileu/users$/username/My Documents/R/win-library/3.2" 
[2] "C:/Program Files/R/R-3.2.4/library" 

(Su un lato nota, sto cercando di passare dal simbolico '\ fileu' riferimento a un riferimento all'unità N.)

so che ci sono state domande simili poste su questo in passato (ad esempio, here), ma il problema particolare che sto avendo è che non è dimenticare la posizione dell'unità C. Non riesco a cancellarlo affatto. Qualsiasi aiuto sarebbe molto apprezzato!

+1

Si sta utilizzando R raw o l'interfaccia tramite RStudio ? RStudio ha i suoi percorsi per impostare ... –

+0

non è quello che vuoi? per prima cosa appare in '/ my docs/...', quindi nel file di default '/ program files/...' se non trovato. il default è dove vivono tutti i tuoi pacchetti inclusa la base, quindi se non hai quelli nel tuo nuovo libpath e nessun backup libpath, dove prenderai quei pacchetti? – rawr

+0

Probabilmente sarebbe più saggio mantenere un sottoinsieme di pacchetti, quelli che ti interessano di più nella tua nuova cartella. In questo modo, puoi tenerli aggiornati, ma non devi preoccuparti dei molti pacchetti che potresti mai (direttamente) usare. – lmo

risposta

6

Ecco i draghi.

assign(".lib.loc", "\your\preferred\library", envir = environment(.libPaths)) 
+0

Bene, ho anche letto che l'impostazione .lib.loc non è supportata direttamente, ma ha anche il vantaggio di funzionare correttamente. Quindi sto contrassegnando questo come la risposta corretta. Grazie, @ Andrie! –

+0

Questa risposta sembra essere scaduta, '.lib.loc' restituisce' Errore: oggetto '.lib.loc' non trovato' e '? .lib.loc' mi indirizza verso una lista di funzioni defunte:' Le funzioni o le variabili elencate qui non fanno più parte di R in quanto non sono più necessarie –

1

Se si desidera modificare la posizione della libreria in modo permanente utilizzare questo comando: .libPaths ("drive:/location/location")

Se si desidera modificare la posizione della libreria per una particolare sessione in RStudio (cioè per una modifica temporanea), utilizzare: assign (". Lib.loc", "unità:/posizione/posizione", envir = environment (.libPaths))

Problemi correlati