Diciamo che abbiamo la seguente funzione:Quali sono i modi per modificare una funzione in R?
foo <- function(x)
{
line1 <- x
line2 <- 0
line3 <- line1 + line2
return(line3)
}
E che vogliamo cambiare la seconda linea di essere:
line2 <- 2
Come l'hai fatto?
Un modo è quello di utilizzare
fix(foo)
e cambiare la funzione.
Un altro modo è di scrivere nuovamente la funzione.
C'è un altro modo? (Ricorda, l'operazione era di cambiare solo la seconda riga)
Quello che vorrei è in qualche modo rappresentare la funzione come un vettore di stringhe (beh, caratteri), quindi cambiare uno dei suoi valori, e quindi girare in una funzione di nuovo.
E non è qualcosa che si può fare passando un parametro ad una funzione? .. Si noti che è anche possibile passare le funzioni come parametri. –
Ciao Leo - la domanda è per quando voglio cambiare una funzione fatta da qualcun altro, ma all'interno del codice non è necessario copiare l'intera funzione. –
se hai bisogno di modificare una funzione "interna", ho trovato molto utili i consigli e gli snippet seguenti: [nabble: how-to-override-replace-a-function-in-a-package-namespace] (http: // r.789695.n4.nabble.com/how-to-override-replace-a-function-in-a-package-namespace-td866337.html) –