Hi, I'm trying to compile two functions into one function. the first funtion is called 'fs' which is self-made function, another function is from the built-in 'integration' function that is copy-paste-edited. If built separatey, these functions work well. However that is not the case if combines together, where certainly I made mistake somewhere when constructing the code.
can someone help point out the mistakes for me please? Thanks! Aehan ____________________ intgfun<- function(a,b,c,mu,alpha,xi,upper, ...,subdivisions = 100, rel.tol = .Machine$double.eps^0.25, abs.tol = rel.tol, stop.on.error = TRUE, keep.xy = FALSE, aux = NULL) { x<-vector() fs<-function(x){ temp<-(-xi^(-1))*log(1-xi*(x-mu)/alpha) (((alpha^(-1))*(exp((-(1-xi)*temp)-exp(-temp))))*((a*(x-c)^0.5)+(b*(x-c)))) } return(fs) intgrt<-function(lower) { call(fs) fs <- match.fun(f) ff <- function(x) f(x, ...) limit <- as.integer(subdivisions) if (limit < 1 || (abs.tol <= 0 && rel.tol < max(50 * .Machine$double.eps, 5e-29))) stop("invalid parameter values") if (is.finite(lower) && is.finite(upper)) { wk <- .External("call_dqags", ff, rho = environment(), as.double(lower), as.double(upper), as.double(abs.tol), as.double(rel.tol), limit = limit, PACKAGE = "base") } else { if (is.na(lower) || is.na(upper)) stop("a limit is missing") if (is.finite(lower)) { inf <- 1 bound <- lower } else if (is.finite(upper)) { inf <- -1 bound <- upper } else { inf <- 2 bound <- 0 } wk <- .External("call_dqagi", ff, rho = environment(), as.double(bound), as.integer(inf), as.double(abs.tol), as.double(rel.tol), limit = limit, PACKAGE = "base") } res <- wk[c("value", "abs.error", "subdivisions")] res$message <- switch(wk$ierr + 1, "OK", "maximum number of subdivisions reached", "roundoff error was detected", "extremely bad integrand behaviour", "roundoff error is detected in the extrapolation table", "the integral is probably divergent", "the input is invalid") if (wk$ierr == 6 || (wk$ierr > 0 && stop.on.error)) stop(res$message) res$call <- match.call() class(res) <- "integrate" res } return (intgrt)} [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.