[R] mean of 3D arrays

R. Michael Weylandt <michael.weylandt@gmail.com> michael.weylandt at gmail.com
Wed Oct 5 15:39:04 CEST 2011


As promised

### Untested
pmean <- function(...){
    dotArgs <- list(...)
    l <- length(dotArgs)
    if( l == 0L ) stop("no arguments")
    temp <- dotArgs[[1]]
    if ( l > 1L ) {for(i in 2L:l) {temp <- temp + dotArgs[[i]]}}
    temp/l
}

Clunky but gets the job done. Its still too early for me to think straight so I'll let someone else kill the loop and add error checking if interested. 

Michael Weylandt

On Oct 5, 2011, at 9:14 AM, "R. Michael Weylandt <michael.weylandt at gmail.com>" <michael.weylandt at gmail.com> wrote:

> (x1+x2+x3)/3
> 
> I'm not aware of a "pmean" function but it wouldn't be hard to homebrew one if you are comfortable with the ... argument
> 
> I'll draft one up and send it along
> 
> Michael Weylandt
> 
> On Oct 5, 2011, at 9:00 AM, Martin Batholdy <batholdy at googlemail.com> wrote:
> 
>> Hi,
>> 
>> I have multiple three dimensional arrays.
>> 
>> Like this:
>> 
>> x1 <- array(rnorm(1000, 1, 2), dim=c(10, 10, 10))
>> x2 <- array(rnorm(1000, 1, 2), dim=c(10, 10, 10))
>> x3 <- array(rnorm(1000, 1, 2), dim=c(10, 10, 10))
>> 
>> 
>> Now I would like to compute the mean for each corresponding cell.
>> As a result I want to get one 3D array (10 x 10 x 10) in which at position x, y, z is the mean of the corresponding values of x1, x2 and x3 (at position x, y, z).
>> 
>> 
>> How can I do this?
>> 
>> ______________________________________________
>> 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