[R] Assignments inside lapply

Nick Sabbe nick.sabbe at ugent.be
Wed Apr 27 11:58:56 CEST 2011


No, that does not work.
You cannot do assignment within (l)apply.
Nor in any other function for that matter.


Nick Sabbe
--
ping: nick.sabbe at ugent.be
link: http://biomath.ugent.be
wink: A1.056, Coupure Links 653, 9000 Gent
ring: 09/264.59.36

-- Do Not Disapprove



-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On
Behalf Of Alaios
Sent: woensdag 27 april 2011 11:37
To: R-help at r-project.org
Subject: [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.



More information about the R-help mailing list