foo_of_a_List_of_Arrays: Apply functions by each Array in a list

Description Usage Arguments Details Value Examples

View source: R/foo_of_a_List_of_Arrays.R

Description

Calculates mean, var, sum etc, over all list for each array component.

Usage

1
foo_of_a_List_of_Arrays(x, name.of.function)

Arguments

x

A List constructed by Arrays of same dimension.

name.of.function

This is an operator, such as mean, var, sum,... Note that user no need to surround the input by "". For example, the term mean is available instead of "mean".

Details

var can be changed to sum or mean or any other functions whose entry is a vector.One can find this function in the Stack over flow, since I ask there, and thus the example given in here can also find also there. In my hierarchical or MRMC Bayesian Model, the estimates contain arrays. For example the hit rate is an array whose subscript is constructed by confidence level, modality, and reader. So, when one desire to validate the estimates, it needs to calculate such variance of arrays. When I validate the estimates, I use the function. 2020 Dec Revised what a fuking english... I fixed. I also cannot understand what I meant... maybe my brain is out of order when I wrote the previous version.

Value

An array whose entries is the result of mean, var, sum,...

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#Suppose that x is a list of arrays:

  a <- array(1,c(2,3,4));
  b <- array(2,c(2,3,4));
  c <- array(3,c(2,3,4));
  d <- array(4,c(2,3,4));

  x <- list(a=a,b=b,c=c,d=d)

foo_of_a_List_of_Arrays(x,sum)
foo_of_a_List_of_Arrays(x,mean)
foo_of_a_List_of_Arrays(x,stats::var)




# Note that the component of list can be vectors with fixed same length.

  y <- list(c(1,2,3),
            c(11,22,33),
            c(1111,2222,3333))


  a <- foo_of_a_List_of_Arrays(y,sum)



    y <- list(c(1,2,3),
            c(11,22,33)
            )


  a <- foo_of_a_List_of_Arrays(y,prod)

BayesianFROC documentation built on Jan. 23, 2022, 9:06 a.m.