
It's a great method, but there is  a memory problem, DFS would occupy a large memory. So from this point of view, i prefer the loop.

>> for (i in 1 : nrow(unique)){
>> tmp=get(past0("DF",i))[1,]
>> assign(paste0("df",i),tmp)
>> dfi=dfi[,1:3]
>> names(dfi)=names(tmp[c(1,4,5)])
>> dfi=rbind(dfi,tmp[c(1,4,5)])

>> names(dfi)=c("UID","Date","Location")
>>}
NB: The code above  without any test!




--

PO SU
mail: desolator88@163.com
Majored in Statistics from SJTU



At 2014-08-10 06:32:38, "William Dunlap" <wdunlap@tibco.com> wrote:
>> I was able to create 102 distinct dataframes (DFs1, DFs2, DFs3, etc) using
>> the assign() in a loop.
>
>The first step to making things easier to do is to put those data.frames
>into a list.  I'll call it DFS and your data.frames will now be DFs[[1]],
>DFs[[2]], ..., DFs[[length(DFs)]].
>    DFs <- lapply(paste0("DFs", 1:102), get)
>In the future, I think it would be easier if you skipped the 'assign()'
>and just put the data into a list from the start.
>
>Now use lapply to process that list, creating a new list called 'df', where
>df[[i]] is the result of processing DFs[[i]]:
>
>df <- lapply(DFs, FUN=function(DFsi) {
>                      # your code from the for loop you supplied
>                      dfi=DFsi[1,]
>                      dfi=dfi[,1:3]
>                      names(dfi)=names(DFsi[c(1,4,5)])
>                      dfi=rbind(dfi,DFsi[c(1,4,5)])
>                      names(dfi)=c("UID","Date","Location")
>                      dfi # return this to put in list that lapply is making
>                  })
>
>(You didn't supply sample data so I did not run this - there may be typos.)
>
>Bill Dunlap
>TIBCO Software
>wdunlap tibco.com
>
>
>On Sat, Aug 9, 2014 at 1:39 PM, Laura Villegas Ortiz <lvilleg@ncsu.edu> wrote:
>> Dear all,
>>
>> I was able to create 102 distinct dataframes (DFs1, DFs2, DFs3, etc) using
>> the assign() in a loop.
>>
>> Now, I would like to perform the following transformation for each one of
>> these dataframes:
>>
>> df1=DFs1[1,]
>> df1=df1[,1:3]
>> names(df1)=names(DFs1[c(1,4,5)])
>> df1=rbind(df1,DFs1[c(1,4,5)])
>> names(df1)=c("UID","Date","Location")
>>
>> something like this:
>>
>> for (i in 1 : nrow(unique)){
>>
>> dfi=DFsi[1,]
>> dfi=dfi[,1:3]
>> names(dfi)=names(DFsi[c(1,4,5)])
>> dfi=rbind(dfi,DFsi[c(1,4,5)])
>> names(dfi)=c("UID","Date","Location")
>>
>> }
>>
>> I thought it could be straightforward but has proven the opposite
>>
>> Many thanks
>>
>> Laura
>>
>>         [[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.

	[[alternative HTML version deleted]]

