私は、Rの省略記号(...
)引数を使用して賢明に作業しようとしており、いくつか問題があります。Rに省略記号の引数ベクトルを認識させるにはどうすればいいですか?
...
を使用して関数の引数領域を乱雑にすることなく、関数の先頭にいくつかのデフォルト引数を渡そうとしています。しかし、何とか省略記号引数が
test <- function(dat,
# I don't want to have to put default col,
# ylim, ylab, lty arguments etc. here
...) {
# but here, to be overruled if hasArg finds it
color <- "red"
if(hasArg(col)) { # tried it with both "col" and col
message(paste("I have col:", col))
color <- col
}
plot(dat, col = color)
}
関数呼び出し私の完全なベクトルをピックアップしていないようだ。
test(data.frame(x = 1:10, y = 11:20), col = c("purple", "green", "blue"))
をエラーを例外:
Error in paste("I have col:", col) (from #8) :
cannot coerce type 'closure' to vector of type 'character'
だから、何かが間違ってここに起こっています。私が省略記号の引数をプロット関数に渡すと、エラーなしですぐに動作します。
[いくつかのAdvanced R](http://adv-r.had.co.nz/Computing-on-the-language.html)を読んでいる必要があるようなサウンドです。私がリンクしたページで 'dots'を検索してください。 – Gregor