2
私はMANYという引数を持っています。R不足している引数があるかどうかを調べる
testFunction = function(a,b,c,d,e,f,g,....){
if(missing(a)) stop("a is required")
if(missing(b)) stop("b is required")
if(missing(c)) stop("c is required")
if(missing(d)) stop("d is required")
if(missing(e)) stop("e is required")
if(missing(f)) stop("f is required")
if(missing(g)) stop("g is required")
}
をしかし、私の実際の場合は、上記の簡単な例よりも多くの引数が含まれ、そのように:
はこれがそうのように行うことができます。それらのANYが欠落している場合、私は、エラーをスローする必要があります、私はむしろ、ループを使用して同等のチェックを実行するだろう、このような何か:(動作しない)
testFunction = function(a,b,c,d,e,f,g,...){
args = as.list(environment())
for(n in names(args)){
if(missing(as.name(n))) stop(sprintf("%s is required",n))
}
}
上記でエラーが発生します:
Error in missing(as.name(n)) : invalid use of 'missing'
引数名の文字表現で引数が欠落していないかどうかを確認するにはどうすればよいですか?
省略記号が含まれている場合にこれが有効になりますか? –
@NicholasHamiltonさて、あなたはそれをテストして、違った振る舞いをしたいのなら教えてください。 – MrFlick
私はちょうどしました。完璧に動作します。ありがとう。 –