...
in関数の使用法に関するドキュメントはどこにありますか?例が役に立ちます。
回答:
説明に使用される単語...
は「省略記号」です。これを知っていると、構成に関する情報の検索が簡単になります。たとえば、Googleでの最初のヒットは、このサイトの別の質問です。独自の関数を作成するときにRの省略記号機能を使用するにはどうすればよいですか。
dots
ヘルプページの名前は、例えば?dots
および「省略記号は」偶数ページに記載されていない
?dots
は、私には機能しませんが、?'...'
機能します。
あなたが始めるための小さな例。
f <- function(x, ...)
{
dots <- list(...) #1
if(length(dots) == 0) return(NULL)
cat("The arguments in ... are\n")
print(dots)
f(...) #2
}
f(1,2,3,"a", list("monkey"))
関数、 f
は、最初の入力引数を除くすべてを省略記号変数に格納します。その内容にアクセスするには、リストに変換するのが最も簡単です(1)。ただし、主な用途はサブ関数に引数を渡すことであり、変換は必要ありません(2)。
f()
毎回異なる引数で繰り返し呼び出されます。コードを実行して、何が起こっているのか理解できるかどうかを確認します。
...length()
としても
「R言語の定義」のセクション2.1.9ドットドットドットに進む必要があります。Rインストールにバンドルされています。help.start()
インタラクティブセッションで実行してHTMLヘルプを表示し、[ R言語定義]リンクをクリックします。メインサイトからPDFまたはHTMLバージョンを使用することもできます。
とにかく、...
関数の不特定の仮引数を照合するために使用されます。
args(sapply)
function (X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE)
NULL
sapply(mtcars, mean, trim = .5)
mpg cyl disp hp drat wt qsec vs am gear
19.200 6.000 196.300 123.000 3.695 3.325 17.710 0.000 0.000 4.000
carb
2.000
ご覧のとおりtrim = .5
、sapply
関数の仮引数として指定されていませんが、合格しました。
(この例は簡単であることに注意してください。sapply(mtcars, median)
同じ結果を達成するために使用できます)
trim
はmean
関数の引数です。...
中にsapply
するためのメカニズムですtrim
に渡されますmean
。
...
、Pythonのキーワード入力(def func(**kwargs)
)に相当するRです