Hi Francesca, Try something like this:
x <- c(1, 3, 7) dati <- lapply(1:4, function(i) {datiP[datiP$city == i, x]}) dati[[1]] # datiP1 dati[[2]] # datiP2 dati[[3]] # datiP3 dati[[4]] # datiP4 if the *only* groups are 1, 2, 3, 4 (i.e., 1:4 is exhaustive), this can be simplified: dati <- by(datiP, datiP$city, `[`, x) For documentation, see: ?lapply ?by ?"[" # to see how I use the extraction operator as a function Hope this helps, Josh On Fri, Nov 11, 2011 at 12:24 PM, Francesca <francesca.panco...@gmail.com> wrote: > Dear Contributors > I would like to perform this operation using a loop, instead of repeating > the same operation many times. > The numbers from 1 to 4 related to different groups that are in the > database and for which I have the same data. > > > x<-c(1,3,7) > > datiP1 <- datiP[datiP$city ==1,x]; > > datiP2 <- datiP[datiP$city ==2,x]; > > datiP3 <- datiP[datiP$city ==3,x] > > datiP4 <- datiP[datiP$city ==4,x]; > -- > > Thank you for any help you can provide. > > Francesca > > [[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. > -- Joshua Wiley Ph.D. Student, Health Psychology Programmer Analyst II, ATS Statistical Consulting Group University of California, Los Angeles https://joshuawiley.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.