2017-05-02 9 views
10

Rでは、関数が期待する引数の数をどのように決定できますか?関数の外側にある関数への引数の数

fa = function(x){} 
fb = function(x,y){} 
fc = function(x,y,z){} 

だから私はどこ、f、関数を定義したい:

f(fa) = 1 
f(fb) = 2 
f(fc) = 3 

など...

基本的に、私はnargs()の有用性を好むが、関数の外からでしょう問題の

上記の理由は、最適化される関数が実行時に決定されて生成されるoptim(...)の特定の実装に対して、関数が期待する引数の数を知る必要があるということです。

+6

たぶん 'formals'はここに参考になります。たとえば、 'formals(optim)'のようになります。 – lmo

+1

関数名としてc()を使用するつもりはありませんでした。 :) – neilfws

+2

'x < - 関数(a = 1、b = 2)a^b;長さ(formals(x)); #2' – zx8754

答えて

8

可能なアプローチ:

b <- function(x, y) {} 
length(formals(b)) 
# [1] 2 
+0

それはそうです。乾杯。 –

関連する問題