Dies ist eine Frage bezüglich der Codierung in R.
Das Beispiel, das ich anbiete, ist didaktisch. Angenommen, ich habe Funktionen namens 'func1' und 'func2', wo jeder zwei Argumente (sagen wir Skalare) hat. Ich möchte eine andere Funktion 'applyfunction' angeben, die drei Argumente hat: die letzte Nummer der zu verwendenden Funktion ('1' oder '2') und die zwei Argumente für die Funktion. Zum Beispiel möchte ich so etwas tun (was natürlich nicht funktioniert):
applyfunction(1,2,3)
, wo es effektiv func1(2,3)
und
applyfunction(2,9,43)
, wo es effektiv func2(9,43)
ausführen würde.
Irgendwelche Ideen?
Beste, DB
Sie können sich do.call()
ansehen, die eine Funktion mit in einer Liste angegebenen Argumenten aufruft. Es ist nicht schwer, einen Wrapper dafür zu schreiben, der genau das tut, was Sie wollen.
EDIT: Ein Wrapper wäre:
%Vor% Hier ist eine andere Alternative. Sie können der switch
-Liste weitere Funktionen hinzufügen.
Wie wäre es mit einer der Funktionsvariablen als Schalter?
%Vor%Und Sie können die gleiche Funktion verwenden, wobei der Schalter die Variable "x" ist:
%Vor%