Nicht sicher, ob dies möglich ist, aber eine Frage wert. Ich muss in der Lage sein, eine Funktion zu ändern, die in die globale Umgebung geladen wird. Zum Beispiel können sagen, dass ich eine Funktion hatte wie die folgenden, dass der Median eines Vektors zurückFunktion in globaler Umgebung ändern
myVec<-c(1,2,3,4,5,5,5,6,7,8,9,10)
average<-function(x){
median(x)
}
average(myVec)
Nun wollte ich die Funktion zum Aktualisieren der Mittelwert zurückzukehren, aber ohne die Gesamtstruktur der Funktion zu ändern, so möchte ich Update average()
so wird es
average<-function(x){
mean(x)
}
Ist das möglich? Ich rate eine Form des Schreibens der Funktion in eine temporäre Datei und Aufruf readLines()
und writeLines()
, aber bis jetzt hatte ich keinen Erfolg.
Wenn Sie den gesamten Körper der Funktion überschrieben werden sollen, gibt es 'Körper (Durchschnitt) <- Zitat (Mittelwert (x))'. Das Umschreiben einer vorhandenen Funktion auf einer feineren Ebene kann schäbig werden, denke ich. – Frank
Wenn Sie eine Funktion zweimal definieren, überschreibt die neuere die ältere, so dass die neuere Funktion verwendet wird. –
Die Funktion, die ich ändern muss, ist komplexer, daher möchte ich sie nicht einfach neu definieren. Ich muss nur eine Zeile aus dem Speicher ändern und dann an eine Liste anhängen und die Liste speichern. – MorganBall