Re: [R] apply in apply

From: <Richard.Cotton_at_hsl.gov.uk>
Date: Fri, 30 May 2008 10:02:20 +0100


> I need to apply a function on each column of each matrix contained in
> a list. Consider the following code,
>
> > x <- 1:3
> > my.data <- list(matrix(c(1,2,3,4,5,6),ncol=2),
> > matrix(c(4,5,6,7,8,9),ncol=2))
> >
> > par(mfrow=c(2,2))
> > results <- sapply(1:length(my.data),
> > function(ii) apply(my.data[[ii]], 2, function(y) plot(x,y) ))
#
> > plot is for demonstration purposes
>
>
> It works, but I think this is quite dirty code. Is there a simpler
> way of achieving this?

The last line can be simplified
results <- sapply(my.data, function(x) apply(x,2,sum))

(It is perhaps a little clearer what is going on when you use sum rather than plot as the example function.)

Regards,
Richie.

Mathematical Sciences Unit
HSL



ATTENTION: This message contains privileged and confidential inform...{{dropped:20}}

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 Mon 02 Jun 2008 - 03:15:39 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 Mon 02 Jun 2008 - 06:30:39 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