제 질문은이 하나와 관련이 있습니다 : Function that returns a function in R 하지만 R 패키지를 만들려고합니다. 나는 NInput이라는 sysdata.rda에 저장된 데이터 프레임을 사용하는 다음과 같은 함수를 가지고있다. approxfun() 함수를 사용하여 함수를 반환하고 싶습니다. 이 패키지의 사용자는 Nfun (날짜)를 호출 할 수 있기를 원합니다. 여기서 날짜는 approxfun()으로 작성된 함수의 일반적인 입력이됩니다.사용자 정의 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