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 () the conventional
unbiased estimate of the covariance matrix with divisor
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)