[R] naming datasubsets in a loop

Rui Barradas ruipbarradas at sapo.pt
Mon Oct 29 18:30:29 CET 2012


Hello,

The best way of doing what you want is to save the subsets in a list.

subsets.list <- vector("list", 10)
for(i in 1:10)
     subsets.list[[i]] <- subset(...etc...)

names(subsets.list) <- names

You can also assign names using assign().


for(i in 1:10){
     sb <- subset(...etc...)
     assign(names[i], sb)
}


But this will create 10 different objects, the first way, using a list, 
keeps them all together.

Also, as you've seen, 'names' is an R function, choose something else 
for your variable name.

Hope this helps,

Rui Barradas
Em 29-10-2012 17:10, paladini escreveu:
> Hello everbody,
> I want to generate different subsets of my data-set and safe this 
> subsets with names listet in a vector. Because in reality I have got 
> about 70 subsets I want to realize this in a loop
> Somehow like this:
>
>
> names=c("nam1", 
> "nam2","nam3","nam4","nam5","nam6","nam7","nam8","nam9","nam10")
>
>
> for (i in 1:10){
>
> subset(originaldata, originaldata[ ,130]<=time[i]) #This subset should 
> get the name  safed in "names" on position i
>
>
>
> }
>
>
> I don't know how to realized it. None of my attempts worked,- so I 
> would be grateful for help.
>
> Best regards
>
> Claudia
>
> ______________________________________________
> R-help at 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.




More information about the R-help mailing list