Re: [R] mapply to lapply
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, I would like to ask your help concerning 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])) Could you please help me understand how I should change it? Best Regards Alex __ 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. -- 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: b...@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@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.
Re: [R] mapply to lapply
Dear Andreas, I would like to thank you for your reply. 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 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.b...@unimedizin-mainz.de wrote: From: Andreas Borg andreas.b...@unimedizin-mainz.de Subject: Re: [R] mapply to lapply To: Alaios ala...@yahoo.com Cc: R-help@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, I would like to ask your help concerning 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])) Could you please help me understand how I should change it? Best Regards Alex __ 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. -- 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: b...@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@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.
Re: [R] mapply to lapply
On Mon, Apr 18, 2011 at 2:10 PM, Alaios ala...@yahoo.com wrote: Dear Andreas, I would like to thank you for your reply. 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.b...@unimedizin-mainz.de wrote: From: Andreas Borg andreas.b...@unimedizin-mainz.de Subject: Re: [R] mapply to lapply To: Alaios ala...@yahoo.com Cc: R-help@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, I would like to ask your help concerning 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])) Could you please help me understand how I should change it? Best Regards Alex __ 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. -- 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: b...@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@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@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.
Re: [R] mapply to lapply
Thanks you very much. You made it work! Cheers --- On Mon, 4/18/11, Kenn Konstabel lebats...@gmail.com wrote: From: Kenn Konstabel lebats...@gmail.com Subject: Re: [R] mapply to lapply To: Alaios ala...@yahoo.com Cc: R-help@r-project.org Date: Monday, April 18, 2011, 1:06 PM On Mon, Apr 18, 2011 at 2:10 PM, Alaios ala...@yahoo.com wrote: Dear Andreas, I would like to thank you for your reply. 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.b...@unimedizin-mainz.de wrote: From: Andreas Borg andreas.b...@unimedizin-mainz.de Subject: Re: [R] mapply to lapply To: Alaios ala...@yahoo.com Cc: R-help@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, I would like to ask your help concerning 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])) Could you please help me understand how I should change it? Best Regards Alex __ 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. -- 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: b...@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@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@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.
Re: [R] mapply to lapply
Hi Alex, sorry, I wasn't aware that sum does not work with listst. replace lapply with sapply or place the call in unlist. Your second example does not work as you have to provide the additional arguments to the inner function in lapply: lapply(1:nrow(cells), function(rowInd, i, j), [your function goes here], i=i, j=j) Viele Grüße, Andreas Alaios schrieb: Dear Andreas, I would like to thank you for your reply. 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 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.b...@unimedizin-mainz.de wrote: From: Andreas Borg andreas.b...@unimedizin-mainz.de Subject: Re: [R] mapply to lapply To: Alaios ala...@yahoo.com Cc: R-help@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, I would like to ask your help concerning 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])) Could you please help me understand how I should change it? Best Regards Alex __ 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. -- 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: b...@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. -- 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: b...@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@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.