The easiest way may be to use lmList in the nlme library: #simulate data d<-rep(1:10,each=10) x<-rnorm(100) e<-rnorm(100) y<-2*x+e
require(nlme) #or install and load package lmList(y~x|d) #predicted values are obtained with: predict(lmList(y~x|d) HTH, Daniel jeff6868 wrote > > Hi everybody, > > I have a question about applying a specific function (with the > calculations I want to do), on a list of elements. > > Each elements are like a data.frame (with nrows and ncolumns), and have > the same structure. > At frist, I had a big data.frame that I splitted in all my elements of my > list. They have been splitted by day. > For example, the name of the first element of my list is "2011-01-01", and > is a data.frame corresponding to all my data from this specific date. Then > my second element is "2011-01-02", etc.... > > My question is: how can I apply a function on each element separately (a > bit like a loop)? > > For example, if my data from the first element "2011-01-01" is: > element1 <- data.frame(x=rnorm(1:10),data=c(1:10)) > > I would like to do a regression between "x" and "data (so lm(data ~x) ), > to get the predicted values of the regression, and then to keep the > results in a new object. > > And then, do the same with the second element (regression between "x" and > "data" of the second element), keep the results of the predicted values > and keep the results. > > ... and so one with 200 elements. > > Is there any way to do this? > > Thanks a lot! > -- View this message in context: http://r.789695.n4.nabble.com/apply-a-function-separately-on-each-element-of-a-list-tp4641186p4641204.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ 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.