Try something like this: fits <- list(500) for (i in 1:500) { if (sum(table1$id == i) == 0) fits[[i]] <- NA else fits[[i]] <- lm(y~t,data=table1,subset=(id==i)) }
--- On Wed, 4/6/08, Manli Yan <[EMAIL PROTECTED]> wrote: > From: Manli Yan <[EMAIL PROTECTED]> > Subject: [R] linear model in the repeated data type~ > To: r-help@r-project.org > Received: Wednesday, 4 June, 2008, 2:06 PM > here is the data: > y<-c(5,2,3,7,9,0,1,4,5) > id<-c(1,1,6,6,7,8,15,15,19) > t<-c(50,56,50,56,50,50,50,60,50) > table1<-data.frame(y,id,t)//longitudinal data > > what I want to do is to use the linear model for each id > ,then get the > estimate value,like: > > fit1<-lm(y~t,data=table1,subset=(id==1)) > > but ,you can see the variable "id" is quite > irregular,they are not arranaged > in order and many number missing,if I write a loop by using > "for",it will > give me a lot "NA", > and for sure ,I dont want to type id=## for about 500 > times,any one know how > to deal with it? > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@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. ______________________________________________ R-help@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.