Vorrei fornire un argomento params a una funzione e quindi collegarlo in modo che possa utilizzare un parametro anziché un $ a ogni volta che faccio riferimento all'elemento list a.attach() all'interno della funzione
run.simulation<-function(model,params){
attach(params)
#
# Use elements of params as parameters in a simulation
detach(params)
}
C'è un problema con questo? Se ho definito una variabile globale denominata c e ho anche definito un elemento denominato c della lista "params", il cui valore sarebbe stato usato dopo il comando attach?
+1 pena spiegare che cosa 'con()' e 'all'interno di()' fare. Nell'esempio fornito, 'with()' crea un ambiente da 'params' e quindi valuta l'espressione' print (a) '_inside_ quell'ambiente. Quindi i componenti di 'params' sono visibili quando l'espressione viene valutata, senza bisogno di' attach() 'loro. –
Grazie mille per le risposte lucide. –
Quindi ciò che ha funzionato alla fine era 'myFun <-function (model, params) {with (params), {...}}' dove ... è il corpo della funzione –