Composite: Computes composites

View source: R/Composite.R

CompositeR Documentation

Computes composites

Description

Composites a 3-d field var(x, y, time) according to the indices of mode/cluster occurrences in time and computes the pvalues (t-test). x and y are typically lon and lat, but function can accept other 2-d fields such as lat and depth, lon and depth, etc.

Usage

Composite(var, occ, lag = 0, eno = FALSE, K = NULL, fileout = NULL)

Arguments

var

3-dimensional array (x, y, time) containing the variable to composite.

occ

1-dimensional array for the occurrence time series of mode(s)/cluster(s). (*1) When one wants to composite all modes, e.g., all K = 3 clusters then for example occurrences could look like: 1 1 2 3 2 3 1 3 3 2 3 2 2 3 2. (*2) Otherwise for compositing only the 2nd mode or cluster of the above example occurrences should look like 0 0 1 0 1 0 0 0 0 1 0 1 1 0 1.

lag

Lag time step (an integer), e.g., for lag = 2 composite will use +2 occurrences (i.e., shifted 2 time steps forward). Default is lag = 0.

eno

For using the effective sample size (TRUE) or the total sample size (FALSE that is the default) for the number of degrees of freedom.

K

numeric value indicating the maximum number of composites. By default (NULL), it takes the maximum value provided in occ.

fileout

Name of the .sav output file (NULL is the default).

Value

$composite

3-d array (x, y, k) containing the composites k=1,..,K for case (*1) or only k=1 for any specific cluster, i.e., case (*2).

$pvalue

3-d array (x, y, k) containing the pvalue of the composites obtained through a t-test that accounts for the serial dependence of the data with the same structure as Composite.

Author(s)

History: 0.1 # 2014-08 (N.S. Fuckar) # Original code

Examples

blank <- array(0, dim=c(20, 10, 30))

x1 <- blank
t1 <- blank
f1 <- blank

for (i in 1:20) {
 x1[i,,] <- i
}

for (i in 1:30) {
 t1[,,i] <- i
}

# This is 2D propagating sin wave example, where we use (x,y,t) structure of 
# f1 wave field. Compositing (like using stroboscopicc light) at different time 
# steps can lead to modification or cancelation of wave pattern.

for (i in 1:20) {
 for (j in 1:30) {
   f1[i,,j] <- 3*sin(2*pi*x1[i,,j]/5. - 2*pi*t1[i,,j]/6.)
 }
}

occ1 <- rep(0, 30)
occ1[c(2, 5, 8, 11, 14, 17, 20, 23)] <- 1

filled.contour(Composite(var=f1, occ=occ1)$composite[,,1])

occ2 <- rep(0, 30)
occ2[c(3, 9, 15, 21)] <- 1

filled.contour(Composite(var=f1, occ=occ2)$composite[,,1])

# Example with one missing composite (#3) in occ:
data <- 1 : (4 * 5 * 6)
dim(data) <- c(lon = 4, lat = 5, case = 6)
occ <- c(1, 1, 2, 2, 3, 3) 
res <- Composite(data, occ, K = 4)


s2dverification documentation built on April 20, 2022, 9:06 a.m.