How about
library(nlme) allFits <- lmList(y ~ t|id, data=table1, pool=FALSE) or allFits <- by(table1, table1$id, function(x) lm(y ~ t, data=x)) Both ways store the results as a list, so you can access individual results using list extraction. --Matt -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Manli Yan Sent: Tuesday, June 03, 2008 9:07 PM To: r-help@r-project.org Subject: [R] linear model in the repeated data type~ 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.