cov.wt {stats} | R Documentation |
Weighted Covariance Matrices
Description
Returns a list containing estimates of the weighted covariance matrix and the mean of the data, and optionally of the (weighted) correlation matrix.
Usage
cov.wt(x, wt = rep(1/nrow(x), nrow(x)), cor = FALSE, center = TRUE,
method = c("unbiased", "ML"))
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 |
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 |
method |
string specifying how the result is scaled, see ‘Details’ below. Can be abbreviated. |
Details
By default, method = "unbiased"
,
The covariance matrix is divided by one minus the sum of squares of
the weights, so if the weights are the default (1/n
) the conventional
unbiased estimate of the covariance matrix with divisor (n - 1)
is obtained.
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 |
wt |
the weights used in the estimation. Only returned if given as an argument. |
cor |
the estimated correlation matrix. Only returned if
|
See Also
Examples
(xy <- cbind(x = 1:10, y = c(1:3, 8:5, 8:10)))
w1 <- c(0,0,0,1,1,1,1,1,0,0)
cov.wt(xy, wt = w1) # i.e. method = "unbiased"
cov.wt(xy, wt = w1, method = "ML", cor = TRUE)