HI, Dennis,

Thanks for the helps! All roads to Rome, appreciated!



On Thu, Sep 22, 2011 at 2:54 PM, Dennis Murphy <djmuser@gmail.com> wrote:

> Hi:
>
> Here's one approach with package reshape2. I copied the same data
> frame 10 times to illustrate the idea, but as long as your data frames
> have the same structure (same variables, same dimension), this should
> work.
>
> library('plyr')
> library('reshape2')
>
> # Use your example data as the template:
> ds <- read.table(textConnection("
>  probe_name chr_id position      y
> 1    C-7SARK      1   849467     10
> 2    C-4WYLN      1   854278     10
> 3    C-3BFNY      1   854471     10
> 4    C-7ONNE      1   874460     10
> 5    C-6HYCN      1   874571     10
> 6    C-7SCGC      1   874609     10"), header = TRUE, stringsAsFactors =
> FALSE)
> closeAllConnections()
>
> # Note how I use y for the response instead of arrayxx.
>
> # Copy the data frame 10 times and put it into a list; these are
> # placeholders for the real data frames
> L <- lapply(seq_len(10), function(i) ds)
>
> # Name the list components array01  - array10, ...
> names(L) <- c(paste('array0', 1:9, sep = ''), 'array10')
>
> # The advantage of using rbind in conjunction with ldply() is that it
> outputs
> # the list names as an .id variable
> u <- ldply(L, rbind)
> head(u)
>
> # Reshape the data so that the y values in each component are associated
> # with the component name:
> dcast(u, probe_name + chr_id + position ~ .id, value_var = 'y')
>  probe_name chr_id position array01 array02 array03 array04 array05 array06
> 1    C-3BFNY      1   854471      10      10      10      10      10
>  10
> 2    C-4WYLN      1   854278      10      10      10      10      10
>  10
> 3    C-6HYCN      1   874571      10      10      10      10      10
>  10
> 4    C-7ONNE      1   874460      10      10      10      10      10
>  10
> 5    C-7SARK      1   849467      10      10      10      10      10
>  10
> 6    C-7SCGC      1   874609      10      10      10      10      10
>  10
>  array07 array08 array09 array10
> 1      10      10      10      10
> 2      10      10      10      10
> 3      10      10      10      10
> 4      10      10      10      10
> 5      10      10      10      10
> 6      10      10      10      10
>
> HTH,
> Dennis
>
> On Thu, Sep 22, 2011 at 10:07 AM, Changbin Du <changbind@gmail.com> wrote:
> > HI, Dear R community,
> >
> > I am trying to created new variables and put into a data frame through a
> > loop.
> >
> > My original data set:
> >
> > head(first)
> >  probe_name chr_id position array1
> > 1    C-7SARK      1   849467     10
> > 2    C-4WYLN      1   854278     10
> > 3    C-3BFNY      1   854471     10
> > 4    C-7ONNE      1   874460     10
> > 5    C-6HYCN      1   874571     10
> > 6    C-7SCGC      1   874609     10
> >
> >
> > I have 48 other array data from a list result.fun
> > array2=result.fun[[1]]
> > array3=result.fun[[2]]
> > .
> > .
> >
> > I want the following results:
> >
> >  probe_name chr_id position array1 array2 array3
> > 1    C-7SARK      1   849467     10     10       10
> > 2    C-4WYLN      1   854278     10     10       10
> > 3    C-3BFNY      1   854471     10      10       10
> > 4    C-7ONNE      1   874460     10     10       10
> > 5    C-6HYCN      1   874571     10     10       10
> > 6    C-7SCGC      1   874609     10     10       10
> >
> >
> > I used the following codes:
> >
> > for (i in 2:3) {
> >
> > assign(lab=paste("array", i, sep=""), value=result.fun[[i-1]])
> >
> > first <-cbind(first, lab)
> >
> > }
> >
> > *Error in assign(lab = paste("array", i, sep = ""), value = result.fun[[i
> -
> > :
> >  unused argument(s) (lab = paste("array", i, sep = ""))*
> >
> >
> > Can anyone give some hits or helps?
> >
> > Thanks so much!
> >
> >
> >
> >
> >
> >
> > --
> > Sincerely,
> > Changbin
> > --
> >
> >        [[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.
> >
>



-- 
Sincerely,
Changbin
--

	[[alternative HTML version deleted]]

