[R] please help for mgcv package

Sarah Goslee sarah.goslee at gmail.com
Tue Jun 21 18:20:58 CEST 2011


Hi,

On Tue, Jun 21, 2011 at 11:27 AM, pigpigmeow <glorykwok at hotmail.com> wrote:
> i read a book from WOOD, there's an example which is talking about the
> pollutant.
>
> library(gamair)
> library(mgcv)

data(chicago) # otherwise this isn't reproducible

> y<-gam(death~s(time,bs="cr",k=200)+s(pm10median,bs="cr")+s(so2median,bs="cr")+s(o3median,bs="cr")+s(tmpd,bs="cr"),data=chicago,family=Possion)

# this line won't work
y<-gam(death~s(time,bs="cr",k=200)+s(pm10median,bs="cr")+s(so2median,bs="cr")+s(o3median,bs="cr")+s(tmpd,bs="cr"),data=chicago,family=poisson())


> lag.sum<-function(a,10,11)
> {n<-length(a)
> b<-rep(0,n-11)
> for(i in 0:(11-10))
> b<-b+a[(i+1):(n-11+i)]
>
> b}

Why would you pass an unnamed constant to a function, and then try to
change them later? When you use lag.sum(), you try to set those
arguments to other values.

lag.sum<-function(a1, a2, a3)
{
n<-length(a1)
b<-rep(0, n-a3)
for(i in 0:(a2-a3))
b<- b + a1[(i+1):(n-a3+i)]

b
}


> death<-chicago$death[4:5114]
> time<-chicago$time[4:5114]
> o3<-lag.sum(chicago$o3median,0,3)
> tmp<-lag.sum(chicago$tmpd,0,3)

Like here. Your function hard-coded the values in, or tried to, and
yet you want 0 and 3 now instead of 10 and 11.

> pm10<-lag.sum(log(chicago$pm10median+40),0,3)
> so2<-lag.sum(log(chicago$so2median+10),0,)
>
> I don't know what is the script (Bold font ) used for......

This is a plain-text list. Bold font doesn't show up.

> and it shows "Error: unexpected numeric constant in "lag.sum<-function(a,10"
> ", why?
>
> anyone can answer me?
>

I don't have the book you reference, but I wonder if that's really what it says.

Sarah


-- 
Sarah Goslee
http://www.functionaldiversity.org



More information about the R-help mailing list