These utility functions compute (weighted) means, variances and covariances for dataframe partitioned by a factor. The scale transforms a numeric matrix in a centred and scaled matrix for any weighting.
covwt(x, wt, na.rm = FALSE)
varwt(x, wt, na.rm = FALSE)
scalewt(df, wt = rep(1/nrow(df), nrow(df)), center = TRUE, scale = TRUE)
meanfacwt(df, fac = NULL, wt = rep(1/nrow(df), nrow(df)), drop = FALSE)
varfacwt(df, fac = NULL, wt = rep(1/nrow(df), nrow(df)), drop = FALSE)
covfacwt(df, fac = NULL, wt = rep(1/nrow(df), nrow(df)), drop = FALSE)
scalefacwt(df, fac = NULL, wt = rep(1/nrow(df), nrow(df)), scale = TRUE, drop = FALSE)
For varwt
, the weighted variance. For covwt
,
the matrix of weighted co-variances. For scalewt
, the scaled
dataframe. For other function a list (if fac
is not null) of dataframes with approriate values
a numeric vector (varwt
) or a matrix (covwt
)
containg the data.
a logical value indicating whether NA values should be stripped before the computation proceeds.
a matrix or a dataframe containing the data.
a factor partitioning the data.
a numeric vector of weights.
a logical value indicating whether unused levels should be kept.
a logical value indicating whether data should be scaled or not.
a logical value indicating whether data should be centered or not.
Stéphane Dray stephane.dray@univ-lyon1.fr
Functions returns biased estimates of variances and covariances (i.e. divided by n and not n-1)
data(meau)
w <- rowSums(meau$spe)
varwt(meau$env, w)
varfacwt(meau$env, wt = w)
varfacwt(meau$env, wt = w, fac = meau$design$season)
covfacwt(meau$env, wt = w, fac = meau$design$season)
scalewt(meau$env, wt = w)
Run the code above in your browser using DataLab