Assignments inside lapply
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
--- On Wed, 4/27/11, ONKELINX, Thierry <Thierry.ONKELINX at inbo.be> wrote:
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.