I am having difficulty fitting a mgcv::gamm model that includes both a random 
smooth term (i.e. 'fs' smooth) and autoregressive errors.  Standard smooth 
terms with a factor interaction using the 'by=' option work fine.  Both on my 
actual data and a toy example (below) I am getting the same error so am 
inclined to wonder if this is either a bug or a model that gamm is simply 
unable to fit?

Any insight or suggestions would be much appreciated.

M


Example:

library('mgcv')
set.seed(1)
df = data.frame(index=rep(1:10,5), x=runif(50,0,1), subject = 
as.factor(sort(rep(1:5,10))))

# random intercept
m1 = gamm(x~s(index), random=list(subject=~1), data=df, method = 'REML')

#factor interaction, random intercept, AR errors
m2 = gamm(x~s(index, by=subject), random=list(subject=~1), 
correlation=corAR1(form=~index|subject), data=df, method = 'REML')

#factor interaction, random intercept and slope, AR errors
m3 = gamm(x~s(index, by=subject), random=list(subject=~index), 
correlation=corAR1(form=~index|subject), data=df, method = 'REML')

#random smooth on its own works ok
m4 = gamm(x~s(index, subject, bs='fs'), data=df, method = 'REML')


#combination of 'fs' smooth and AR term generates the error: "Error in 
matrix(0, size.cg[i], size.cg[i]) : object 'size.cg' not found"
#the grouping term ( |subject ) is redundant in corAR1 as the mgcv 
documentation indicates that gamm will assume the grouping 
#from the random smooth term; the same error happens irrespective of whether 
the grouping is included in corAR1 or not.

m5 = gamm(x~s(index, subject, bs='fs'), 
correlation=corAR1(form=~index|subject), data=df, method = 'REML')
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.

Reply via email to