Try this:
f <- function(x)any(is.na(coefficients(x)))
models <- by(table1[c("y", "t")], table1$id, FUN=lm)
models[!unlist(lapply(models, f))]
On Wed, Jun 4, 2008 at 6:20 PM, Manli Yan <manliyanrhelp@gmail.com> wrote:
> 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
>
> the above is only part of 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
> so,how to get all the esimates for each id,and exclude the NA,then record
> those estimate in one table?
>
> great thanks ~~
>
> [[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.
>
--
Henrique Dallazuanna
Curitiba-Paraná-Brasil
25° 25' 40" S 49° 16' 22" O
[[alternative HTML version deleted]]