Manipulating the output of mqgam
qdo.RdContrary to qgam, mqgam does not output a standard gamObject, hence
methods such as predict.gam or plot.gam cannot be used directly. qdo
provides a simple wrapper for such methods.
Arguments
- obj
the output of a
mqgamcall.- qu
A vector whose elements must be in (0, 1). Each element indicates a quantile of interest, which should be an element of
names(obj$fit). If left toNULLthe functionfunwill be applied to each of the quantile fits inobj.- fun
The method or function that we want to use on the
gamObjectcorresponding to quantilequ. For instancepredict,plotorsummary. By default this is the identity function (I), which means that the fitted model for quantilequis returned.- ...
Additional arguments to be passed to
fun.
Value
A list where the i-th entry is the output of fun (whatever that is) corresponding to quantile qu[i].
Author
Matteo Fasiolo <[email protected]>.
Examples
library(qgam); library(MASS)
quSeq <- c(0.4, 0.6)
set.seed(737)
fit <- mqgam(accel~s(times, k=20, bs="ad"), data = mcycle, qu = quSeq)
#> Estimating learning rate. Each dot corresponds to a loss evaluation.
#> qu = 0.4............done
#> qu = 0.6..........done
qdo(fit, 0.4, summary)
#>
#> Family: elf
#> Link function: identity
#>
#> Formula:
#> accel ~ s(times, k = 20, bs = "ad")
#>
#> Parametric coefficients:
#> Estimate Std. Error z value Pr(>|z|)
#> (Intercept) -31.270 1.829 -17.1 <2e-16 ***
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>
#> Approximate significance of smooth terms:
#> edf Ref.df Chi.sq p-value
#> s(times) 8.956 10.33 659.9 <2e-16 ***
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>
#> R-sq.(adj) = 0.781 Deviance explained = 70.1%
#> -REML = 609.61 Scale est. = 1 n = 133
invisible(qdo(fit, 0.4, plot, pages = 1))
# Return the object for qu = 0.6 and then plot it
tmp <- qdo(fit, 0.6)
plot(tmp)