Dear Jiawei,
I work also with the MGVC package and believe that your gam is currently struggling to understand the content of the variable $date. The variable needs to be transformed to a "number" or a series of variables such as time dummies or an index. I recommend to transform $date in such a way that the gam understands the $date variable as a number.
Best
Marcelo
-----Urspr?ngliche Nachricht-----
Von: R-SIG-Robust [mailto:r-sig-robust-bounces at r-project.org] Im Auftrag von ? ??
Gesendet: Freitag, 4. Januar 2019 05:46
An: r-sig-robust at r-project.org
Betreff: [RsR] Error in gam function in names(x) <- value: 'names' attribute must be the same length as the vector
Dear R users,
I am using the *mgcv package* to model the ozone pollution concentration according to some environmental covariates. The model takes the form :
model1 <-gam(O3~s(X,Y,bs="tp",k=10)+wd+s(date,bs="cc",k=100)+district,data=mydata,family= gaussian(link ="log" ),na.action="na.omit", method="REML")
And here is the strcture of covariates
str(mydata)
'data.frame': 7100 obs. of 286 variables:
$ date : Date, format: "2016-01-01" "2016-01-01" "2016-01-01" ...
$ O3 : num 0.0141 0.0149 0.0102 0.0159 0.0186 ...
$ district : Factor w/ 10 levels "bc","bh","dl",..: 1 8 7 8 2 6 4 4 10 2 ...
$ wd : Factor w/ 16 levels "E","ENE","ESE",..: 13 13 13 13 13 2 9 9 11 13 ...
$ X : num 0.389 0.365 1 0.44 0.892 ...
$ Y : num 0.311 0.204 0.426 0.223 0.162 ...
I am stuck on an error in R: 'names' attribute [1] must be the same length as the vector [0].
I try to find where the problem is by delete the term of "s(date,bs="cc",k=100)" from the fomular and it could work well. It seems like there is something wrong with date field.
I'm not exactly sure how to fix this problem. Any advice would be greatly
appreciated!
Jiawei Wang
???? Outlook<http://aka.ms/weboutlook>