cor_diss | R Documentation |
Computes correlation and moving correlation dissimilarity matrices.
cor_diss(Xr, Xu = NULL, ws = NULL,
center = TRUE, scale = FALSE)
Xr |
a matrix. |
Xu |
an optional matrix containing data of a second set of observations. |
ws |
for moving correlation dissimilarity, an odd integer value which
specifies the window size. If |
center |
a logical indicating if the spectral data |
scale |
a logical indicating if |
The correlation dissimilarity \mjeqndd between two observations \mjeqnx_ix_i and \mjeqnx_jx_j is based on the Perason's correlation coefficient (\mjeqn\rho\rho) and it can be computed as follows:
\mjdeqnd(x_i, x_j) = \frac12((1 - \rho(x_i, x_j)))d(x_i, x_j) = 1/2 (1 - \rho(x_i, x_j))
The above formula is used when ws = NULL
.
On the other hand (when ws != NULL
) the moving correlation
dissimilarity between two observations \mjeqnx_ix_i and \mjeqnx_jx_j
is computed as follows:
d(x_i, x_j; ws) = \frac12 ws\sum_k=1^p-ws1 - \rho(x_i,(k:k+ws), x_j,(k:k+ws))d(x_i, x_j) = 1/(2 ws)\sum_(k=1)^p-ws(1 - \rho(x_(i,k:k+ws), x_(j,k:k+ws)))
where \mjeqnwsws represents a given window size which rolls sequentially from 1 up to \mjeqnp - wsp - ws and \mjeqnpp is the number of variables of the observations.
The function does not accept input data containing missing values.
a matrix of the computed dissimilarities.
Antoine Stevens and Leonardo Ramirez-Lopez
library(prospectr)
data(NIRsoil)
Xu <- NIRsoil$spc[!as.logical(NIRsoil$train), ]
Xr <- NIRsoil$spc[as.logical(NIRsoil$train), ]
cor_diss(Xr = Xr)
cor_diss(Xr = Xr, Xu = Xu)
cor_diss(Xr = Xr, ws = 41)
cor_diss(Xr = Xr, Xu = Xu, ws = 41)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.