[R] apply in apply
Richard.Cotton at hsl.gov.uk
Richard.Cotton at hsl.gov.uk
Fri May 30 11:02:20 CEST 2008
> 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}}
More information about the R-help
mailing list