This function computes FAVA in sliding window slices of a dataset.
window_fava(
relab_matrix,
window_size,
window_step = 1,
group = NULL,
index = NULL,
time = NULL,
w = NULL,
S = NULL,
K = NULL,
normalized = FALSE,
alpha = 0.5
)
A list of values of FAVA for each window.
A matrix or data frame with rows containing non-negative entries that sum to 1. Each row represents
a sample, each column represents a category, and each entry represents the abundance of that category in the sample.
If relab_matrix
contains any metadata, it must be on the left-hand side of the matrix,
the right K
entries of each row must sum to 1, and K
must be specified. Otherwise, all entries of
each row must sum to 1.
An integer number specifying the number of samples per window.
Optional; an integer specifying the distance between the first entry of adjacent windows. Default is window_step=1
.
Optional; a string specifying the name of the column that describes which group each row (sample) belongs to. Use if relab_matrix
is a single matrix containing multiple groups of samples you wish to compare.
Optional; a string specifying the name of the column in relab_matrix
containing an index for each sample. For example, if relab_matrix
contains time series data, index
would be the column containing the time of each sample. If index
is not specified but time
is, time
is by default used as the index.
Optional; a string specifying the name of the column that describes the sampling time for each row. Include if you wish to weight FAVA by the distance between samples.
Optional; a vector of length I
with non-negative entries that sum to 1. Entry w[i]
represents the weight placed on row i
in the computation of the mean abundance of each category across rows. The default value is w = rep(1/nrow(relab_matrix), nrow(relab_matrix))
.
Optional; a K x K similarity matrix with diagonal elements equal to 1 and off-diagonal elements between 0 and 1. Entry S[i,k]
for i!=k
is the similarity between category and i
and category k
, equaling 1 if the categories are to be treated as identical and equaling 0 if they are to be treated as totally dissimilar. The default value is S = diag(ncol(relab_matrix))
.
Optional; an integer specifying the number of categories in the data. Default is K=ncol(relab_matrix)
.
Optional; should normalized FAVA be used? Default is normalized = FALSE
; use normalized = TRUE
to compute normalized FAVA. FAVA can only be normalized if it is not weighted.
Optional; number between 0 and 1 specifying the opacity of the horizontal
lines plotted. Default is alpha = 0.5
.
A = matrix(c(.3,.7,0,.1,0,.9,.2,.5,.3,.1,.8,.1,.3,.4,.3,.6,.4,0,0,.5,.5),
ncol = 3, byrow = TRUE)
window_out = window_fava(relab_matrix = A, window_size = 4, normalized = TRUE)
Run the code above in your browser using DataLab