# [R] mapply to lapply

Alaios alaios at yahoo.com
Mon Apr 18 15:05:55 CEST 2011

```Thanks you very much.
Cheers

--- On Mon, 4/18/11, Kenn Konstabel <lebatsnok at gmail.com> wrote:

> From: Kenn Konstabel <lebatsnok at gmail.com>
> Subject: Re: [R] mapply to lapply
> To: "Alaios" <alaios at yahoo.com>
> Cc: R-help at r-project.org
> Date: Monday, April 18, 2011, 1:06 PM
> On Mon, Apr 18, 2011 at 2:10 PM,
> Alaios <alaios at yahoo.com>
> wrote:
> > Dear Andreas,
> > I have tried two alternatives but none of the two
> worked out:
> >
> > F2[i+1,j+1]<-sum(lapply(1:nrow(cells),
> function(rowInd)
> Fwithcellvalue(i=i,j=j,a=cells[rowInd,2],b=cells[rowInd,4],c=cells[rowInd,1],d=cells[rowInd,3],e=cells[rowInd,5])))
> >
> > this one is executed : takes like 2 mins to
> return(which is normal) but returns the following
> >
> > ^@Error in sum(lapply(1:nrow(cells), function(rowInd)
> Fwithcellvalue(i = i,  :
> >  invalid 'type' (list) of argument
>
> The lapply part worked but for sum you need a vector rather
> than a
> list (which is the result of lapply). So e.g.
> sum(unlist(lapply(.....
> something .....))) should work.
>
> KK
>
> >
> >
> > afterwards I tried to change the function definition
> so to pass i,j inside:
> >
> > This one does not execute at all
> >
> > F2[i+1,j+1]<-sum(lapply(1:nrow(cells),
> function(rowInd,i,j)
> Fwithcellvalue(i=i,j=j,a=cells[rowInd,2],b=cells[rowInd,4],c=cells[rowInd,1],d=cells[rowInd,3],e=cells[rowInd,5])))
> > Error in paste("f", i, j, "(a,b,c,d)", sep = "") :
> >  argument "i" is missing, with no default
> >
> >
> > What do you think I should try out now?
> >
> > Vielen Dank
> > Alex
> >
> > --- On Mon, 4/18/11, Andreas Borg <andreas.borg at unimedizin-mainz.de>
> wrote:
> >
> >> From: Andreas Borg <andreas.borg at unimedizin-mainz.de>
> >> Subject: Re: [R] mapply to lapply
> >> To: "Alaios" <alaios at yahoo.com>
> >> Cc: R-help at r-project.org
> >> Date: Monday, April 18, 2011, 11:10 AM
> >> My solution would be to use an index
> >> variable that goes from 1 to the number of rows
> that are to
> >> be processed, along with a helper function which
> calls
> >> Fwithcellvalue with the suitable arguments:
> >>
> >> F2[i+1,j+1]<-sum(lapply(1:nrow(cells),
> function(rowInd)
> >>
> Fwithcellvalue(i=i,j=j,a=cells[rowInd,2],b=cells[rowInd,4],c=cells[rowInd,1],d=cells[rowInd,3],e=cells[rowInd,5]))
> >>
> >>
> >> Best regards,
> >>
> >> Andreas
> >>
> >> Alaios schrieb:
> >> > Dear all,
> >> >
> converting a
> >> mapply function to lapply. The reason is that I
> would like
> >> to use mclapply which requires lapply syntax.
> >> >
> >> > The command I would like to convert is:
> >> >
> >>
> F2[i+1,j+1]<-sum(mapply(Fwithcellvalue,i=i,j=j,a=cells[,2],b=cells[,4],c=cells[,1],d=cells[,3],e=cells[,5]))
> >> >
> should
> >> change it?
> >> >
> >> >
> >> > Best Regards
> >> > Alex
> >> >
> >> >
> ______________________________________________
> >> > R-help at r-project.org
> >> mailing list
> >> > https://stat.ethz.ch/mailman/listinfo/r-help
> >> > and provide commented, minimal,
> self-contained,
> >> reproducible code.
> >> >
> >> >
> >>
> >>
> >> -- Andreas Borg
> >> Medizinische Informatik
> >>
> >> UNIVERSITÄTSMEDIZIN
> >> der Johannes Gutenberg-Universität
> >> Institut für Medizinische Biometrie,
> Epidemiologie und
> >> Informatik
> >> Obere Zahlbacher Straße 69, 55131 Mainz
> >> www.imbei.uni-mainz.de
> >>
> >> Telefon +49 (0) 6131 175062
> >> E-Mail: borg at imbei.uni-mainz.de
> >>
> >> Diese E-Mail enthält vertrauliche und/oder
> rechtlich
> >> geschützte Informationen. Wenn Sie nicht der
> >> richtige Adressat sind oder diese E-Mail
> irrtümlich
> >> erhalten haben, informieren Sie bitte sofort den
> >> Absender und löschen Sie diese Mail. Das
> unerlaubte
> >> Kopieren sowie die unbefugte Weitergabe
> >> dieser Mail und der darin enthaltenen
> Informationen ist
> >> nicht gestattet.
> >>
> >>
> >
> > ______________________________________________
> > R-help at r-project.org
> mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help