2012-03-09 20 views
13

mi piacerebbe realizzare qualcosa per l'effetto diCalling biblioteca() in R con una variabile come argomento

libs = c("AER", "gbm", "caret", "MASS", "nnet", "randomForest") 
for (i in libs) { 
    if(!is.element(i, .packages()) { 
    install.packages(i) 
    } 
    library(i) 
} 

La chiamata alla biblioteca (i) non sostituisce i con il valore viene memorizzato in la variabile i. Invece, prova a caricare la libreria denominata "i"

C'è un modo per forzare che io sia trattato come una variabile e risolto prima della chiamata alla libreria?

+0

la risposta di joran è corretta. Un piccolo miglioramento sarebbe usare ".packages (all.available = TRUE)". In questo modo non guarderai solo nelle librerie caricate. – Stanislav

risposta

21

Che ne dici di library(...,character.only = TRUE)?

+1

grazie! La documentazione R ancora una volta mi sta fallendo ... –

+1

Cosa significa questo 'character.only = TRUE'? Non riesco a trovare alcuna documentazione su di esso. – Nick

3

Ecco il codice completo (combinazione della risposta di joran e aggiunta di "all.available = TRUE").

libs = c("AER", "gbm", "caret", "MASS", "nnet", "randomForest") 
for (i in libs){ 
    if(!is.element(i, .packages(all.available = TRUE))) { 
    install.packages(i) 
    } 
    library(i,character.only = TRUE) 
} 
Problemi correlati