Re: [R] Assignments inside lapply

From: Alaios <alaios_at_yahoo.com>
Date: Wed, 27 Apr 2011 03:14:20 -0700 (PDT)


I would like to use lapply as there is a parallel version of lapply called mclapply.

My purpose is to convert
for (i in c(1:dimx)){

   for (j in c(1:dimy)){

       Powermap[i,j] <- Pr(c(i,j),c(PRX,PRY),f)  }}

to something that can run in parallel with mclapply: I am not sure then how to store the results of lapply(mclapply) correctly to Powermap matrix. That is the reason I put the assignment inside the return statement. For example this does not do what I want to Powermap[i,j]<-unlist(mclapply(1:nrow(ij),function(rowId) { return (Pr(c(ij$i[rowId],ij$j[rowId]),c(PRX,PRY),f) How can I try this out?

Best Regards
Alex

> From: ONKELINX, Thierry <Thierry.ONKELINX_at_inbo.be>
> Subject: RE: [R] Assignments inside lapply
> To: "Alaios" <alaios_at_yahoo.com>, "R-help_at_r-project.org" <R-help_at_r-project.org>
> Date: Wednesday, April 27, 2011, 11:06 AM
> Dear Alex,
>
> I think you want to use apply()
>
> ij <- expand.grid(i = seq_len(dimx),j = seq_len(dimy))
> Powermap <- apply(ij, 1, function(x){
>     Pr(x, c(PRX, PRY), f)
> })
>
> Best regards,
>
> Thierry
>
> ----------------------------------------------------------------------------
> ir. Thierry Onkelinx
> Instituut voor natuur- en bosonderzoek
> team Biometrie & Kwaliteitszorg
> Gaverstraat 4
> 9500 Geraardsbergen
> Belgium
>
> Research Institute for Nature and Forest
> team Biometrics & Quality Assurance
> Gaverstraat 4
> 9500 Geraardsbergen
> Belgium
>
> tel. + 32 54/436 185
> Thierry.Onkelinx_at_inbo.be
> www.inbo.be
>
> To call in the statistician after the experiment is done
> may be no more than asking him to perform a post-mortem
> examination: he may be able to say what the experiment died
> of.
> ~ Sir Ronald Aylmer Fisher
>
> The plural of anecdote is not data.
> ~ Roger Brinner
>
> The combination of some data and an aching desire for an
> answer does not ensure that a reasonable answer can be
> extracted from a given body of data.
> ~ John Tukey
>  
>
> > -----Oorspronkelijk bericht-----
> > Van: r-help-bounces_at_r-project.org
>
> > [mailto:r-help-bounces_at_r-project.org]
> Namens Alaios
> > Verzonden: woensdag 27 april 2011 11:37
> > Aan: R-help_at_r-project.org
> > Onderwerp: [R] Assignments inside lapply
> >
> > Dear all I would like to ask you if an assignment can
> be done
> > inside a lapply statement.
> >
> > For example
> >
> > I would like to covert a double nested for loop
> >
> > for (i in c(1:dimx)){
> >   for (j in c(1:dimy)){
> >       Powermap[i,j] <-
> Pr(c(i,j),c(PRX,PRY),f)
> >    }
> > }
> >
> > to something like that:
> >
> >
> > ij<-expand.grid(i=seq(1:dimx),j=(1:dimy))
> >
> > unlist(lapply(1:nrow(ij),function(rowId) { return
> >
> (Powermap[i,j]<-Pr(c(ij$i[rowId],ij$j[rowId]),c(PRX,PRY),f))   }))
> >
> >
> > as you can see lapply does not return nothing as the
> > assignment is done inside the function. Would that
> work
> > correctly? What are the cases such a statement will
> misfunction?
> >
> > I would like to thank you in advace for your help.
> >
> > Best Regards
> > Alex
> >
> > ______________________________________________
> > 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.
> >



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. Received on Wed 27 Apr 2011 - 10:29:42 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Wed 27 Apr 2011 - 10:50:32 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive