私の質問はこの1つです:Function that returns a function in R しかし、私はRパッケージを作成しようとしています。私はsysdata.rdaに格納されたデータフレームを使用してNInputと呼ばれる以下の関数を持っています。私はapproxfun()関数を使って関数を返したいと思います。このパッケージのユーザーは、日付がapproxfun()で作成された関数の通常の入力になるNfun(Dates)を呼び出せるようにしたいと思います。カスタムRパッケージの関数を返す関数
#' A function to return interpolated N input data
#'
#' function to return interpolated N input data for decimal dates
#' @param Dates A scalar or vector of decimal input dates
#' @keywords nitrogen
#' @export
#' @examples
#' Nfun()
Nfun <- function(){
NInput$Date
NInput$Ninput
Nfun <- approxfun(NInput$Date,NInput$Ninput,rule=2)
}
しかし、私はこの機能で自分のパッケージをインストールしたパッケージをロードした後、私のRセッションで(1900)Nfunを呼び出すときに、私が取得:
Error in Nfun(1900) : unused argument (1900)
私は
Nfun <- Nfun()
を設定した場合
Nfun.Rスクリプトの外に、パッケージをロードした後のアクティブなRセッションで、私の機能がグローバル環境に表示され、私は電話することができます
Nfun(1900)
[1] 0.7846106
しかし、私はこれを行う必要はありません。私は自分のパッケージ関数を定義する方法にいくつかの基本的な間違いをしていると思っていますが、私は困惑しています。
あなたはこれらの名前で混乱を招いていますが、名前を付けてはいけません**すべて** Nfun'! –
https://stackoverflow.com/q/20223601/1412059 – Roland