5
独自の関数を作成するときにRの省略記号機能を使用するにはどうすればよいですか?
R言語には、可変数の引数を取ることができる関数を定義するための気の利いた機能があります。たとえば、関数data.frameは任意の数の引数を取り、各引数は結果のデータテーブルの列のデータになります。使用例: > data.frame(letters=c("a", "b", "c"), numbers=c(1,2,3), notes=c("do", "re", "mi")) letters numbers notes 1 a 1 do 2 b 2 re 3 c 3 mi 関数のシグネチャには、次のように省略記号が含まれています。 function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, stringsAsFactors = default.stringsAsFactors()) { [FUNCTION DEFINITION HERE] } 複数の値を取り、それらを単一の戻り値に統合する(およびその他の処理を行う)同様のことを行う関数を作成したいと思います。これを行うに...は、関数内の関数の引数から「アンパック」する方法を理解する必要があります。これを行う方法がわかりません。の関数定義の関連する行はですdata.frameがobject <- as.list(substitute(list(...)))[-1L]、これは意味がわかりません。 では、省略記号を関数のシグネチャから、たとえばリストに変換するにはどうすればよいでしょうか。 より具体的には、get_list_from_ellipsis以下のコードでどのように書くことができますか? my_ellipsis_function(...) …