R: Weighted Covariance Matrices (Maximum Likelihood)

cov.wml R Documentation

Weighted Covariance Matrices (Maximum Likelihood)

Description

Returns a list containing estimates of the weighted covariance matrix and the mean of the data, and optionally of the (weighted) correlation matrix. The covariance matrix is divided by the sum of the weights, corresponding to n and the ML-estimator in the case of equal weights, as opposed to n-1 for cov.wt.

Usage

cov.wml(x, wt = rep(1/nrow(x), nrow(x)), cor = FALSE, center = TRUE)

Arguments

x
a matrix or data frame. As usual, rows are observations and columns are variables.

wt
a non-negative and non-zero vector of weights for each observation. Its length must equal the number of rows of x.

cor
A logical indicating whether the estimated correlation weighted matrix will be returned as well.

center
Either a logical or a numeric vector specifying the centers to be used when computing covariances. If TRUE, the (weighted) mean of each variable is used, if 'FALSE, zero is used. If center is numeric, its length must equal the number of columns of x.

Value

A list containing the following named components:

cov
the estimated (weighted) covariance matrix.

center
an estimate for the center (mean) of the data.

n.obs
the number of observations (rows) in x.

wt
the weights used in the estimation. Only returned if given as an argument.

cor
the estimated correlation matrix. Only returned if ‘cor’ is ‘TRUE’.

Author(s)

Christian Hennig christian.hennig@unibo.it https://www.unibo.it/sitoweb/christian.hennig/en/

See Also

cov.wt, cov, var

Examples

x <- c(1,2,3,4,5,6,7,8,9,10)
y <- c(1,2,3,8,7,6,5,8,9,10)
cov.wml(cbind(x,y),wt=c(0,0,0,1,1,1,1,1,0,0))
cov.wt(cbind(x,y),wt=c(0,0,0,1,1,1,1,1,0,0))