ある関数の引数に省略記号である三連ドット(…)を持つかどうかを判定する関数を作成しましたので共有いたします。

判定する関数は次になります。


is_dots <- function(func) {
  if (!is.function(func)) {
    stop("Argument is not a function.")
  }
  return(any(is.element(names(as.list(args(func))), "...")))
}

検証用に適当な関数を作成します。


sample_func1 <- function(a) {}
sample_func2 <- function(a, ...) {}

作成したis_dots()関数に検証用の関数を適用してみます。


> print(is_dots(sample_func1))
[1] FALSE

> print(is_dots(sample_func2))
[1] TRUE

うまく動いていることが確認できました。

関連する記事

  • MINTELのGNPDから出力されたCSVの文字化けの対処法 ミンテルGNPD(世界新商品情報データベース)から出力されたCSVが文字化けしている場合の対処法を備忘録として残しておきます。 Windowsパソコンにダウンロードかつ英文のみ ここでの対応は、「café」のようなアキュート・アクセントなどが文字化けしている場合の対応になります。 ubuntu上で文字コードをUTF-8に変換するにはiconvコマンドを用いて、次 […]
  • R言語 CRAN Task View:計量経済学R言語 CRAN Task View:計量経済学 CRAN Task View: Econometricsの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Achim Zeileis, Grant McDermott, Kevin Tappe Contact: Achim.Zeileis at […]
  • R ggplotに回帰直線の式を表示する方法R ggplotに回帰直線の式を表示する方法 R言語のggplotにおいて、グラフに回帰直線の式を表示する方法をお伝えします。 ggplotのグラフに回帰直線の式を表示する方法はいくつかあります。 ここでは最も簡単と思われるggpmiscパッケージを用いて回帰直線の式を表示する方法をお伝えします。 環境 今回の作業環境をsessionInfo()関数で確認しておきます。 > […]
  • 商品開発に役立つコンジョイント分析の仕方商品開発に役立つコンジョイント分析の仕方 コンジョイント分析とは、顧客が商品やサービスの持つ複数の属性について、どの点を重要視しているかを探る調査手法だ。例えば、あなたがパソコンを購入する場合を考えてみて欲しい。スペックだけで購入を決定しているだろうか。また、デザインだけで購入を決定しているだろうか。おそらくそうでないはずだ。パソコンは非常に多種多様な製品が市場に出回っているため、何点かに購入候補を絞ってその中から選 […]
  • WindowsにMariaDBをインストールする手順WindowsにMariaDBをインストールする手順 WindowsにMariaDBをインストールする手順についてお伝えいたします。 ファイルのダウンロード MariaDBのインストールファイルをダウンロードするために、次のサイトに移動します。 MariaDB.org - Supporting continuity and open […]
R 関数の引数が省略記号(…)を持つかどうかを判定する方法