返回自定义R包中的函数的函数
我的问题与此有关: 但是,我正在尝试创建一个R包。我有以下函数,它使用sysdata.rda中存储的名为NInput的数据帧。我想使用approxfun函数返回一个函数。我希望这个包的用户能够调用NfunDates,其中日期是使用approxfun创建的函数的常用输入返回自定义R包中的函数的函数,r,function,package,devtools,R,Function,Package,Devtools,我的问题与此有关: 但是,我正在尝试创建一个R包。我有以下函数,它使用sysdata.rda中存储的名为NInput的数据帧。我想使用approxfun函数返回一个函数。我希望这个包的用户能够调用NfunDates,其中日期是使用approxfun创建的函数的常用输入 #' A function to return interpolated N input data #' #' function to return interpolated N input data for decimal da
#' 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)
}
如果我设定
Nfun <- Nfun()
但是,我不希望用户必须这样做。我想我在如何定义包函数方面犯了一些基本错误,但我被难住了。您的Nfun实现没有参数,因此发生了错误
如果我理解正确,您希望通过approxfun生成函数,Nfun返回函数值供用户输入,对吗?
如果是这样的话,以下方法应该有效
Nfun <- function(x){
NInput$Date
NInput$Ninput
Nfun <- approxfun(NInput$Date,NInput$Ninput,rule=2)(x)
}
你把那些名字弄得一团糟,不要把所有的名字都命名为Nfun!我还希望它打印值,而不需要将它们指定给对象来查看它们。你能推荐一些类似于:printNfunx?print works的东西吗。cat和message将是其他候选人。
Nfun(1900)
[1] 0.7846106
Nfun <- function(x){
NInput$Date
NInput$Ninput
Nfun <- approxfun(NInput$Date,NInput$Ninput,rule=2)(x)
}