[R] mgcv: Smoothing matrix

Simon Wood s.wood at bath.ac.uk
Thu Feb 23 14:38:11 CET 2012

There's no function for extracting this directly, as almost anything 
that you want to do with the smoother matrix can be done in a much more 
efficient way without computing it explicitly, but here's an example of 
how to compute it explicitly in the unweighted additive case...

set.seed(0) ## simulate some data...
dat <- gamSim(1,n=400,dist="normal",scale=2)
b <- gam(y~s(x0)+s(x1)+s(x2)+s(x3),data=dat)

X <- model.matrix(b)
## compute X'(X'X+S)^{-1}X'...
A <- X%*%vcov(b,dispersion=1)%*%t(X)

dA <- influence(b) ## much more efficient if you only need diag(A)

On 23/02/12 11:02, Man Zhang wrote:
> Dear All,
> I would like to extract the smoothing matrix of the fitted GAM, \hat{y} = Sy. I can't seem to find the function or am I missing something?
> Thanks, any help is greatly appreciated
> Man Zhang
> 	[[alternative HTML version deleted]]
> ______________________________________________
> R-help at 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.

Simon Wood, Mathematical Science, University of Bath BA2 7AY UK
+44 (0)1225 386603               http://people.bath.ac.uk/sw283

More information about the R-help mailing list