wie die Parameter "..." in der Elternfunktion an ihre beiden Kinderfunktionen in r übergeben werden

8

Ich versuche, eine Reihe von Parametern in eine Funktion zu übergeben. Diese Funktion hat zwei Unterfunktionen, die Teil des obigen Parametersatzes sind.

Im folgenden Beispiel "SIMPLIFIED" f_combined ist eine Funktion, die ... benötigt Ich möchte den folgenden Funktionsaufruf so machen, dass xx an f_sqr übergeben wird und yy an f_plus :

übergeben wird %Vor%

aber es würde mir einen Fehler geben:

%Vor%

irgendwelche Suggestionen?

%Vor%     
kindadolf 09.09.2014, 16:26
quelle

2 Antworten

9

Alternativ würden Sie das formals() einer Funktion abfragen, um zu sehen, welche benannten Parameter erwartet werden, und nur diese übergeben. Wenn die Funktion "child" ... akzeptiert, werden alle Argumente übergeben. Diese Methode würde für Positionsargumente nicht gut funktionieren.

%Vor%

Hier habe ich die beiden Funktionen so eingestellt, dass sie als Parameter ( .fns=list(f_sqr, f_plus) ) ausgeführt werden, so dass sie leicht geändert werden können oder mehr hinzugefügt werden kann. Ich habe auch einen Parameter festgelegt, der angibt, wie diese Werte kombiniert werden, wenn Sie etwas anderes tun möchten als sie zu addieren ( .reduce='+' ). Aber die Grundidee ist, die besten mathematischen Parameter zu finden und sie zu übergeben. Da Ihre "Kind" -Funktion auch Standardwerte für ihre Parameter hat, werden sie ausgeführt, wenn Sie auch keine Parameter übergeben.

Hier sind einige Beispielanrufe

%Vor%     
MrFlick 09.09.2014, 17:35
quelle
13

Sie können entweder auf ... als benannte paarweise Liste zugreifen oder auf sie mit der Anweisung ..n

zugreifen %Vor%

Ausgabe von ?"..."

  

10.4 Das '...' Argument

     

Eine weitere häufige Anforderung besteht darin, eine Funktion weiterzugeben   Argumenteinstellungen zu einem anderen. Zum Beispiel viele Grafikfunktionen verwenden   Die Funktion par () und Funktionen wie plot () erlauben dem Benutzer, weiterzugeben   grafische Parameter par () zur Steuerung der grafischen Ausgabe. (Sehen   Die Funktion par () für weitere Details zur Funktion par (). Dies kann   getan werden, indem ein zusätzliches Argument, wörtlich "...", der   Funktion, die dann weitergegeben werden kann. Ein Umrissbeispiel wird gegeben   unten.

%Vor%      

Weniger häufig muss sich eine Funktion auf Komponenten von '...' beziehen.   Die Ausdrucksliste (...) wertet alle diese Argumente aus und   gibt sie in einer benannten Liste zurück, während ..1, ..2 usw. sie auswerten   zu einer Zeit, mit "..n" das n-te unübertroffene Argument zurückgeben.

    
B.Mr.W. 09.09.2014 16:40
quelle

Tags und Links