Thanks to all of you for those answers, it now works and it's way faster
than it used to be ;)
Especially, converting my list of matrix to a 3-dimensionnal array
simplifies a lot the statistics I have to run on my data :)

Thanks again,

Robin

2011/12/14 Patrizio Frederic <frederic.patri...@gmail.com>

> Hi robin,
> I'm not sure is what you need, but that's an esthetically nice
> solution (one single line without any loop :) )
>
>
> matrix(apply(log(cbind(as.numeric(a),as.numeric(b),as.numeric(c),as.numeric(d))),1,sd),3)
>
> hope it could help,
>
> PF
>
>
> On Mon, Dec 12, 2011 at 5:15 PM, Robin Cura <robin.c...@gmail.com> wrote:
> > Hello,
> >
> > I'm currently trying to convert a slow and ugly script I made, so that
> it's
> > faster and can be computed on a computer grid with the multicore package.
> > My problem is that I don't see how to turn some loops into an
> "apply-able"
> > function.
> >
> > Here's an example of my loops :
> > I got a list of dataframes (or matrices like here), and I need to browse
> > each cell of those many dataframes to compute a mean (or standard
> deviation
> > like here).
> >
> > Here's a example script :
> >
> > a <- b <- c <- d <- result <- matrix(nrow=3, ncol=3)
> > a[] <- sample.int(n=100,size=9,replace=TRUE)
> > b[] <- sample.int(n=100,size=9,replace=TRUE)
> > c[] <- sample.int(n=100,size=9,replace=TRUE)
> > d[] <- sample.int(n=100,size=9,replace=TRUE)
> > result[] <- NA
> > mylist <- list(a,b,c,d)
> >
> > for (row in 1:3)
> > {
> >  for (col in 1:3)
> >  {
> >    tmpList <- log(mylist[[1]][row, col])
> >    for (listitem in 2:4)
> >    {
> >      tmpList <- c(tmpList, log(mylist[[listitem]][row, col]))
> >    }
> >    result[row, col] <- sd(tmpList)
> >  }
> > }
> >
> > Considering I have to look at the same cell in each dataframe, I don't
> > understand how I could turn this into a function, considering I need the
> > row and column number to iterate.
> >
> > I succeeded improving my script duration a lot, but such loops are really
> > long to run, considering that my lists contains like 100 dataframes, who
> > all contains thousands of values.
> >
> > Any help would be really appreciated
> >
> > Thanks in advance,
> >
> > Robin
> >
> >        [[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.
>
>
>
> --
> +-----------------------------------------------------------------------
> | Patrizio Frederic,
> | http://www.economia.unimore.it/frederic_patrizio/
> +-----------------------------------------------------------------------
>

        [[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.

Reply via email to