Commit b3bce4bc authored by Dirk Eddelbuettel's avatar Dirk Eddelbuettel

Import Upstream version 1.3-11

parent 889c5cdb
Package: mgcv
Version: 1.3-10
Version: 1.3-11
Author: Simon Wood <simon.wood@r-project.org>
Maintainer: Simon Wood <simon.wood@r-project.org>
Title: GAMs with GCV smoothness estimation and GAMMs by REML/PQL
......@@ -12,4 +12,4 @@ Imports: graphics, stats
Suggests: nlme (>= 3.1-64), MASS (>= 7.2-2)
LazyLoad: yes
License: GPL version 2 or later
Packaged: Tue Nov 29 12:37:37 2005; simon
Packaged: Sat Dec 10 14:35:06 2005; simon
......@@ -45,6 +45,8 @@ magic.post.proc Auxilliary information from magic fit
mgcv Multiple Smoothing Parameter Estimation by GCV
or UBRE
mgcv.control Setting mgcv defaults
mgcv-package GAMs with GCV smoothness estimation and GAMMs
by REML/PQL
mono.con Monotonicity constraints for a cubic
regression spline
mroot Smallest square root of matrix
......
1.3-11
* added package doc file
* added French error message support (thanks to Philippe Grosjean), and
error message quotation characters (thanks to Brian Ripley.)
1.3-10
* a `constant' attribute has been added to the object returned by
......
\name{mgcv-package}
\alias{mgcv-package}
\docType{package}
\title{
GAMs with GCV smoothness estimation and GAMMs by REML/PQL
}
\description{
\code{mgcv} provides functions for generalized additive modelling and
generalized additive mixed modelling. Particular features of the package are
facilities for automatic smoothness selection, and the provision of a variety
of smooths of more than one variable. A Bayesian approach to confidence/credible
interval calculation is provided. Lower level routines for generalized
ridge regression and penalized linearly constrained least squares are also provided.
}
\details{ \code{mgcv} provides generalized additive modelling functions \code{\link{gam}},
\code{\link{predict.gam}} and \code{\link{plot.gam}}, which are very similar
in use to the S functions of the same name designed by Trevor Hastie.
However the underlying representation and estimation of the models is based on a
penalized regression spline approach, with automatic smoothness selection. A
number of other functions such as \code{\link{summary.gam}} and \code{\link{anova.gam}} are also provided, for
extracting information from a fitted \code{\link{gamObject}}.
Use of \code{\link{gam}} is much like use of \code{\link{glm}}, except that
within a \code{gam} model formula, isotropic smooths of any number of predictors can be specified using
\code{\link{s}} terms, while scale invariant smooths of any number of
predictors can be specified using \code{\link{te}} terms. Estimation is by
penalized likelihood or quasi-likelihood maximization, with smoothness
selection by GCV or gAIC/ UBRE. See \code{\link{gam}}, \code{\link{gam.models}} and
\code{\link{gam.selection}} for some discussion of model specification and
selection. For detailed control of fitting see \code{\link{gam.convergence}},
\code{\link{gam.method}} and \code{\link{gam.control}}. For checking and
visualization see \code{\link{gam.check}} and \code{\link{vis.gam}} and \code{\link{plot.gam}}.
A Bayesian approach to smooth modelling is used to derive standard errors on
predictions, and hence credible intervals. The Bayesian covariance matrix for
the model coefficients is returned in \code{Vp} of the
\code{\link{gamObject}}. See \code{\link{predict.gam}} for examples of how
this can be used to obtain credible regions for any quantity derived from the
fitted model, either directly, or by direct simulation from the posterior
distribution of the model coefficients. Frequentist approximations can be used
for hypothesis testing: see \code{\link{anova.gam}} and
\code{\link{summary.gam}}, but note that the underlying approximations are not
always good in this case.
The package also provides a generalized additive mixed modelling function,
\code{\link{gamm}}, based on \code{glmmPQL} from the \code{MASS} library and
\code{lme} from the \code{nlme} library.
Some of the underlying GAM fitting methods are available as low level fitting
functions: see \code{\link{magic}} and \code{\link{mgcv}}. Penalized weighted
least squares with linear equality and inequality constraints is provided by \code{\link{pcls}}.
For a complete list of functions type \code{library(help=mgcv)}.
}
\author{
Simon Wood <simon.wood@r-project.org>
Maintainer: Simon Wood <simon.wood@r-project.org>
}
\references{
Wood, S.N. (2006) \emph{Generalized Additive Models: an introduction with R}, CRC
}
\keyword{ package }
\keyword{models}
\keyword{smooth}
\keyword{regression}
\examples{
## see examples for gam and gamm
}
......@@ -4,7 +4,13 @@
\title{Prediction from fitted GAM model}
\description{ Takes a fitted \code{gam} object produced by \code{gam()}
and produces predictions given a new set of values for the model covariates
or the original values used for the model fit.}
or the original values used for the model fit. Predictions can be accompanied
by standard errors, based on the posterior distribution of the model
coefficients. The routine can optionally return the matrix by which the model
coefficients must be pre-multiplied in order to yield the values of the linear predictor at
the supplied covariate values: this is useful for obtaining credible regions
for quantities derived from the model.}
\usage{
predict.gam(object,newdata,type="link",se.fit=FALSE,terms=NULL,
block.size=1000,newdata.guaranteed=FALSE,na.action=na.pass,...)
......@@ -27,9 +33,11 @@ parametric model components, followed by each smooth component, but excludes
any offset and any intercept. When \code{type="response"} predictions
on the scale of the response are returned (possibly with approximate
standard errors). When \code{type="lpmatrix"} then a matrix is returned
which yields the values of the linear predictor (minus any offset) when applied to the
which yields the values of the linear predictor (minus any offset) when
postmultiplied by the
parameter vector (in this case \code{se.fit} is ignored). The latter
option is most useful for getting variance estimates for integrated quantities. }
option is most useful for getting variance estimates for quantities derived from
the model: for example integrated quantities, or derivatives of smooths. }
\item{se.fit}{ when this is TRUE (not default) standard error estimates are returned for each prediction.}
......@@ -83,7 +91,10 @@ terms of order 1 are returned (i.e. those that \code{termplot} can handle).
Note that, in common with other prediction functions, any offset supplied to
\code{\link{gam}} as an argument is always ignored when predicting, unlike
offsets specified in the gam model formula.
offsets specified in the gam model formula.
See the examples for how to use the \code{lpmatrix} for obtaining credible
regions for quantities derived from the model.
}
\references{
......@@ -96,9 +107,10 @@ the Newton method. SIAM J. Sci. Statist. Comput. 12:383-398
Wood, S.N. (2000) Modelling and Smoothing Parameter Estimation
with Multiple Quadratic Penalties. J.R.Statist.Soc.B 62(2):413-428
Wood, S.N. (2003) Thin plate regression splines. J.R.Statist.Soc.B 65(1):95-114
\url{http://www.stats.gla.ac.uk/~simon/}
\url{http://www.maths.bath.ac.uk/~sw283/}
}
\author{ Simon N. Wood \email{simon.wood@r-project.org}
......@@ -134,14 +146,20 @@ b<-gam(y~s(x0)+s(I(x1^2))+s(x2)+offset(x3))
rm(y,x0,x1,x2,x3)
newd <- data.frame(x0=(0:30)/30,x1=(0:30)/30,x2=(0:30)/30,x3=(0:30)/30)
pred <- predict.gam(b,newd)
## now get variance of sum of predictions using lpmatrix
Xp <- predict(b,newd,type="lpmatrix")
## Xp %*% coef(b) yields vector of predictions
a <- rep(1,31)
Xs <- t(a) %*% Xp ## Xs %*% coef(b) gives sum of predictions
var.sum <- Xs %*% b$Vp %*% t(Xs)
## Now get the variance of non-linear function of predictions
## by simulation from posterior distribution of the params
library(MASS)
br<-mvrnorm(1000,coef(b),b$Vp) ## 1000 replicate param. vectors
res <- rep(0,1000)
......@@ -150,7 +168,9 @@ for (i in 1:1000)
res[i] <- sum(log(abs(pr))) ## example non-linear function
}
mean(res);var(res)
## loop is replace-able by following ....
res <- colSums(log(abs(Xp \%*\% t(br))))
}
\keyword{models} \keyword{smooth} \keyword{regression}%-- one or more ..
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
# English translations for R package.
# Copyright (C) 2005 The R Foundation
# This file is distributed under the same license as the R package.
# Automatically generated, 2005.
#
# All this catalog "translates" are quotation characters.
# The msgids must be ASCII and therefore cannot contain real quotation
# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
# and double quote (0x22). These substitutes look strange; see
# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
#
# This catalog translates grave accent (0x60) and apostrophe (0x27) to
# left single quotation mark (U+2018) and right single quotation mark (U+2019).
# It also translates pairs of apostrophe (0x27) to
# left single quotation mark (U+2018) and right single quotation mark (U+2019)
# and pairs of quotation mark (0x22) to
# left double quotation mark (U+201C) and right double quotation mark (U+201D).
#
# When output to an UTF-8 terminal, the quotation characters appear perfectly.
# When output to an ISO-8859-1 terminal, the single quotation marks are
# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
# grave/acute accent (by libiconv), and the double quotation marks are
# transliterated to 0x22.
# When output to an ASCII terminal, the single quotation marks are
# transliterated to apostrophes, and the double quotation marks are
# transliterated to 0x22.
#
msgid ""
msgstr ""
"Project-Id-Version: R 2.3.0\n"
"Report-Msgid-Bugs-To: bugs@R-project.org\n"
"POT-Creation-Date: 2005-12-09 07:31+0000\n"
"PO-Revision-Date: 2005-12-09 07:31+0000\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: gcv.c:290
#, c-format
msgid ""
"Overall smoothing parameter estimate on upper boundary.\n"
"Boundary GCV score change: %g. Largest change: %g"
msgstr ""
"Overall smoothing parameter estimate on upper boundary.\n"
"Boundary GCV score change: %g. Largest change: %g"
#: gcv.c:875
msgid "resetting -ve inf"
msgstr "resetting -ve inf"
#: gcv.c:877
msgid "resetting +ve inf"
msgstr "resetting +ve inf"
#: gcv.c:1014
msgid ""
"Multiple GCV didn't improve autoinitialized relative smoothing parameters"
msgstr ""
"Multiple GCV didn't improve autoinitialized relative smoothing parameters"
#: magic.c:809
msgid "magic, the gcv/ubre optimizer, failed to converge after 400 iterations."
msgstr ""
"magic, the gcv/ubre optimizer, failed to converge after 400 iterations."
#: matrix.c:85
msgid "Failed to initialize memory for matrix."
msgstr "Failed to initialize memory for matrix."
#: matrix.c:147 matrix.c:210
msgid "An out of bound write to matrix has occurred!"
msgstr "An out of bound write to matrix has occurred!"
#: matrix.c:153
msgid "INTEGRITY PROBLEM in the extant matrix list."
msgstr "INTEGRITY PROBLEM in the extant matrix list."
#: matrix.c:186
msgid "You are trying to check matrix integrity without defining RANGECHECK."
msgstr "You are trying to check matrix integrity without defining RANGECHECK."
#: matrix.c:255
#, c-format
msgid ""
"\n"
"%s not found, nothing read ! "
msgstr ""
"\n"
"%s not found, nothing read ! "
#: matrix.c:325
msgid "Target matrix too small in mcopy"
msgstr "Target matrix too small in mcopy"
#: matrix.c:345 matrix.c:353 matrix.c:366 matrix.c:374
msgid "Incompatible matrices in matmult."
msgstr "Incompatible matrices in matmult."
#: matrix.c:480
msgid "Attempt to invert() non-square matrix"
msgstr "Attempt to invert() non-square matrix"
#: matrix.c:502
msgid "Singular Matrix passed to invert()"
msgstr "Singular Matrix passed to invert()"
#: matrix.c:655
msgid "Not a +ve def. matrix in choleski()."
msgstr "Not a +ve def. matrix in choleski()."
#: matrix.c:873
msgid "Error in Covariance(a,b) - a,b not same length."
msgstr "Error in Covariance(a,b) - a,b not same length."
#: matrix.c:1812
msgid "svd() not converged"
msgstr "svd() not converged"
#: matrix.c:1968
#, c-format
msgid "%s not found by routine gettextmatrix().\n"
msgstr "%s not found by routine gettextmatrix().\n"
#: matrix.c:2190
#, c-format
msgid "svdroot matrix not +ve semi def. %g"
msgstr "svdroot matrix not +ve semi def. %g"
#: matrix.c:2414
msgid "Sort failed"
msgstr "Sort failed"
#: matrix.c:2542
msgid "eigen_tri() failed to converge"
msgstr "eigen_tri() failed to converge"
#: matrix.c:2698
#, c-format
msgid "eigenvv_tri() Eigen vector %d of %d failure. Error = %g > %g"
msgstr "eigenvv_tri() Eigen vector %d of %d failure. Error = %g > %g"
#: matrix.c:2832
msgid "Lanczos failed"
msgstr "Lanczos failed"
#: mgcv.c:868
msgid ""
"Numerical difficulties obtaining tr(A) - apparently resolved. Apply some "
"caution to results."
msgstr ""
"Numerical difficulties obtaining tr(A) - apparently resolved. Apply some "
"caution to results."
#: mgcv.c:872
msgid "tr(A) utter garbage and situation un-resolvable."
msgstr "tr(A) utter garbage and situation un-resolvable."
#: mgcv.c:873
msgid ""
"Numerical difficulties calculating tr(A). Not completely resolved. Use "
"results with care!"
msgstr ""
"Numerical difficulties calculating tr(A). Not completely resolved. Use "
"results with care!"
#: mgcv.c:958
msgid "Termwise estimate degrees of freedom are unreliable"
msgstr "Termwise estimate degrees of freedom are unreliable"
#: qp.c:59
msgid "ERROR in addconQT."
msgstr "ERROR in addconQT."
#: qp.c:465
msgid "QPCLS - Rank deficiency in model"
msgstr "QPCLS - Rank deficiency in model"
#: tprs.c:45
msgid "You must have 2m>d for a thin plate spline."
msgstr "You must have 2m>d for a thin plate spline."
#: tprs.c:99
msgid "You must have 2m > d"
msgstr "You must have 2m > d"
#: tprs.c:357 tprs.c:367
msgid ""
"A term has fewer unique covariate combinations than specified maximum "
"degrees of freedom"
msgstr ""
"A term has fewer unique covariate combinations than specified maximum "
"degrees of freedom"
#: tprs.c:359
msgid ""
"Too many knots for t.p.r.s term: see `gam.control' to increase limit, or use "
"a different basis, or see large data set help for `gam'."
msgstr ""
"Too many knots for t.p.r.s term: see ‘gam.control’ to increase limit, or use "
"a different basis, or see large data set help for ‘gam’."
# Translation of mgcv.pot to French
# Copyright (C) 2005 The R Foundation
# This file is distributed under the same license as the mgcv R package.
# Philippe Grosjean <phgrosjean@sciviews.org>, 2005.
#
msgid ""
msgstr ""
"Project-Id-Version: mgcv 1.3-10\n"
"Report-Msgid-Bugs-To: bugs@R-project.org\n"
"POT-Creation-Date: 2005-12-09 07:31+0000\n"
"PO-Revision-Date: 2005-12-08 00:40+0100\n"
"Last-Translator: Philippe Grosjean <phgrosjean@sciviews.org>\n"
"Language-Team: French <R-core@r-project.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: gcv.c:290
#, c-format
msgid ""
"Overall smoothing parameter estimate on upper boundary.\n"
"Boundary GCV score change: %g. Largest change: %g"
msgstr ""
"Estimation du paramtre gnral de lissage dans la limite suprieure.\n"
"Changement du score GCV : %g. Plus grand changement : %g"
#: gcv.c:875
msgid "resetting -ve inf"
msgstr "rinitilisation -ve inf"
#: gcv.c:877
msgid "resetting +ve inf"
msgstr "rinitialisation +ve inf"
#: gcv.c:1014
msgid ""
"Multiple GCV didn't improve autoinitialized relative smoothing parameters"
msgstr ""
"Des GCV multiples n'ont pas amlior les paramtres relatifs de lissage "
"autoinitialiss"
#: magic.c:809
msgid "magic, the gcv/ubre optimizer, failed to converge after 400 iterations."
msgstr "magic, l'optimisateur gcv/ubre, n'a pas converg aprs 400 itrations."
#: matrix.c:85
msgid "Failed to initialize memory for matrix."
msgstr "L'initialisation de la mmoire pour une matrice a chou."
#: matrix.c:147 matrix.c:210
msgid "An out of bound write to matrix has occurred!"
msgstr "Une crite hors des limites de la matrice s'est produite !"
#: matrix.c:153
msgid "INTEGRITY PROBLEM in the extant matrix list."
msgstr "PROBLEME D'INTEGRITE dans la liste de la matrice tendue."
#: matrix.c:186
msgid "You are trying to check matrix integrity without defining RANGECHECK."
msgstr ""
"Vous essayez de vrifier l'intgrit de la matrice sans avoir dfini "
"RANGECHECK."
#: matrix.c:255
#, c-format
msgid ""
"\n"
"%s not found, nothing read ! "
msgstr ""
"\n"
"%s introuvable, rien n'est lu !"
#: matrix.c:325
msgid "Target matrix too small in mcopy"
msgstr "Matrice cible trop petite dans mcopy"
#: matrix.c:345 matrix.c:353 matrix.c:366 matrix.c:374
msgid "Incompatible matrices in matmult."
msgstr "Matrices incompatibles dans matmult."
#: matrix.c:480
msgid "Attempt to invert() non-square matrix"
msgstr "Tentative d'inversion d'une matrice non carre"
#: matrix.c:502
msgid "Singular Matrix passed to invert()"
msgstr "Matrice singulire passe invert()"
#: matrix.c:655
msgid "Not a +ve def. matrix in choleski()."
msgstr "Ceci n'est pas une matrice +ve def. dans choleski()."
#: matrix.c:873
msgid "Error in Covariance(a,b) - a,b not same length."
msgstr "Erreur dans Covariance(a, b) - a et b n'ont pas la mme longueur."
#: matrix.c:1812
msgid "svd() not converged"
msgstr "svd() n'a pas converg"
#: matrix.c:1968
#, c-format
msgid "%s not found by routine gettextmatrix().\n"
msgstr "%s introuvable pour la routine gettextmatrix().\n"
#: matrix.c:2190
#, c-format
msgid "svdroot matrix not +ve semi def. %g"
msgstr "la matrice svdroot n'est pas +ve semi def. %g"
#: matrix.c:2414
msgid "Sort failed"
msgstr "Le tri a chou"
#: matrix.c:2542
msgid "eigen_tri() failed to converge"
msgstr "eigen_tri() n'a pas converg"
#: matrix.c:2698
#, c-format
msgid "eigenvv_tri() Eigen vector %d of %d failure. Error = %g > %g"
msgstr "eigenvv_tri() vecteur propre %d de %d. Erreur = %g > %g"
#: matrix.c:2832
msgid "Lanczos failed"
msgstr "Lanczos a chou"
#: mgcv.c:868
msgid ""
"Numerical difficulties obtaining tr(A) - apparently resolved. Apply some "
"caution to results."
msgstr ""
"Difficults numriques pour obtenir tr(A) - apparemment rsolue. Faites tout "
"de mme attention aux rsultats."
#: mgcv.c:872
msgid "tr(A) utter garbage and situation un-resolvable."
msgstr "situation irrsoluble dans 'tr(A) utter garbage'"
#: mgcv.c:873
msgid ""
"Numerical difficulties calculating tr(A). Not completely resolved. Use "
"results with care!"
msgstr ""
"Difficults numriques lors du calcul de tr(A). Pas rsolues compltement. "
"Utilisez les rsultats avec prcautions !"
#: mgcv.c:958
msgid "Termwise estimate degrees of freedom are unreliable"
msgstr ""
"L'estimation des degrs de libert en fonction des termes n'est pas fiable"
#: qp.c:59
msgid "ERROR in addconQT."
msgstr "ERREUR dans addconQT."
#: qp.c:465
msgid "QPCLS - Rank deficiency in model"
msgstr "QPCLS - Dficience de rang dans le modle"
#: tprs.c:45
msgid "You must have 2m>d for a thin plate spline."
msgstr "Vous devez avoir 2m > d pour une 'thin plate spline'"
#: tprs.c:99
msgid "You must have 2m > d"
msgstr "Vous devez avoir 2m > d"
#: tprs.c:357 tprs.c:367
msgid ""
"A term has fewer unique covariate combinations than specified maximum "
"degrees of freedom"
msgstr ""
"Un terme a moins de combinaisons de covariables uniques que le degr de "
"libert maximum spcifi"
# tprs.c
#: tprs.c:359
msgid ""
"Too many knots for t.p.r.s term: see `gam.control' to increase limit, or use "
"a different basis, or see large data set help for `gam'."
msgstr ""
"Trop de noeuds pour le terme t.p.r.s : voir `gam.control' pour augmenter la "
"limite, ou utiliser une base diffrente ; Ou voir l'aide sur les gros jeux "
"de donnes pour `gam'."
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# Copyright (C) YEAR The R Foundation
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
......@@ -7,8 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2005-02-05 19:29+0000\n"
"Report-Msgid-Bugs-To: bugs@R-project.org\n"
"POT-Creation-Date: 2005-12-09 07:31+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -36,7 +36,7 @@ msgid ""
"Multiple GCV didn't improve autoinitialized relative smoothing parameters"
msgstr ""
#: magic.c:808
#: magic.c:809
msgid "magic, the gcv/ubre optimizer, failed to converge after 400 iterations."
msgstr ""
......@@ -56,7 +56,6 @@ msgstr ""
msgid "You are trying to check matrix integrity without defining RANGECHECK."
msgstr ""
#: matrix.c:255
#, c-format
msgid ""
......@@ -119,23 +118,23 @@ msgstr ""
msgid "Lanczos failed"
msgstr ""
#: mgcv.c:867
#: mgcv.c:868
msgid ""
"Numerical difficulties obtaining tr(A) - apparently resolved. Apply some "
"caution to results."
msgstr ""
#:mgcv:871
#: mgcv.c:872
msgid "tr(A) utter garbage and situation un-resolvable."
msgstr ""
#: mgcv.c:872
#: mgcv.c:873
msgid ""
"Numerical difficulties calculating tr(A). Not completely resolved. Use "
"results with care!"
msgstr ""
#: mgcv.c:957
#: mgcv.c:958
msgid "Termwise estimate degrees of freedom are unreliable"
msgstr ""
......@@ -147,21 +146,22 @@ msgstr ""
msgid "QPCLS - Rank deficiency in model"
msgstr ""
#: tprs.c:44
#: tprs.c:45
msgid "You must have 2m>d for a thin plate spline."
msgstr ""
#: tprs.c:98
#: tprs.c:99
msgid "You must have 2m > d"
msgstr ""
# tprs.c
msgid "Too many knots for t.p.r.s term: see `gam.control' to increase limit, or use a different basis, or see large data set help for `gam'."
msgstr ""
#: tprs.c:355 tprs.c:363
#: tprs.c:357 tprs.c:367
msgid ""
"A term has fewer unique covariate combinations than specified maximum "
"degrees of freedom"
msgstr ""
#: tprs.c:359
msgid ""
"Too many knots for t.p.r.s term: see `gam.control' to increase limit, or use "
"a different basis, or see large data set help for `gam'."
msgstr ""
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment