Skip to content
Back to formatted view

Raw Message

Message-ID: <TY2PR06MB310294C5531DFB29737640AFC28E0@TY2PR06MB3102.apcprd06.prod.outlook.com>
Date: 2019-01-04T04:19:47Z
From: 王 嘉炜
Subject: Error in names(x) <- value: 'names' attribute must be the same length as the vector in gam function

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>

	[[alternative HTML version deleted]]