ma.wtd.statNA | R Documentation |
Some multivariate descriptive statistics for weighted datasets in miceadds. A list of (nested) multiply imputed data sets is also allowed as input.
ma.wtd.meanNA(data, weights=NULL, vars=NULL )
ma.wtd.sdNA(data, weights=NULL, vars=NULL, method="unbiased" )
ma.wtd.covNA(data, weights=NULL, vars=NULL, method="unbiased" )
ma.wtd.corNA(data, weights=NULL, vars=NULL, method="unbiased" )
ma.wtd.skewnessNA(data, weights=NULL, vars=NULL, method="unbiased" )
ma.wtd.kurtosisNA(data, weights=NULL, vars=NULL, method="unbiased" )
ma.wtd.quantileNA( data, weights=NULL, vars=NULL, type=7,
probs=seq(0,1,.25) )
data |
Numeric data vector or data frame or objects of one of the
classes |
weights |
Optional vector of sampling weights |
vars |
Optional vector of variable names |
method |
Computation method for covariances. These amount to
choosing the divisor |
type |
Quantile type. This specification follows
|
probs |
Vector of probabilities used for calculation of quantiles. |
Contrary to ordinary R practice, missing values are ignored in the calculation of descriptive statistics.
ma.wtd.meanNA | weighted means |
ma.wtd.sdNA | weighted standard deviations |
ma.wtd.covNA | weighted covariance matrix |
ma.wtd.corNA | weighted correlation matrix |
ma.wtd.skewnessNA | weighted skewness |
ma.wtd.kurtosisNA | weighted (excess) kurtosis |
A vector or a matrix depending on the requested statistic.
If data
is of class BIFIEdata
and no weights are
specified, sample weights are extracted from the BIFIEdata
object.
Some functions for weighted statistics:
stats::weighted.mean
,
stats::cov.wt
,
{Hmisc::wtd.var}
,
TAM::weighted_quantile
, ...
See micombine.cor
for statistical inference of correlation
coefficients.
#############################################################################
# EXAMPLE 1: Weighted statistics for a single dataset data.ma01
#############################################################################
data(data.ma01)
dat <- as.matrix(data.ma01[,-c(1:3)])
# weighted mean
ma.wtd.meanNA( dat, weights=data.ma01$studwgt )
# weighted SD
ma.wtd.sdNA( dat, weights=data.ma01$studwgt )
# weighted covariance for selected variables
ma.wtd.covNA( dat, weights=data.ma01$studwgt, vars=c("books","hisei") )
# weighted correlation
ma.wtd.corNA( dat, weights=data.ma01$studwgt )
## Not run:
# weighted skewness
ma.wtd.skewnessNA( dat[,"books"], weights=data.ma01$studwgt )
# compare with result in TAM
TAM::weighted_skewness( x=dat[,"books"], w=data.ma01$studwgt )
# weighted kurtosis
ma.wtd.kurtosisNA( dat, weights=data.ma01$studwgt, vars=c("books","hisei") )
# compare with TAM
TAM::weighted_kurtosis( dat[,"books"], w=data.ma01$studwgt )
TAM::weighted_kurtosis( dat[,"hisei"], w=data.ma01$studwgt )
#############################################################################
# EXAMPLE 2: Weighted statistics multiply imputed dataset
#############################################################################
library(mitools)
data(data.ma05)
dat <- data.ma05
# do imputations
resp <- dat[, - c(1:2) ]
# object of class mids
imp <- mice::mice( resp, method="norm", maxit=3, m=5 )
# object of class datlist
datlist <- miceadds::mids2datlist( imp )
# object of class imputationList
implist <- mitools::imputationList(datlist)
# weighted means
ma.wtd.meanNA(datlist)
ma.wtd.meanNA(implist)
ma.wtd.meanNA(imp)
# weighted quantiles
ma.wtd.quantileNA( implist, weights=data.ma05$studwgt, vars=c("manote","Dscore"))
#############################################################################
# EXAMPLE 3: Weighted statistics nested multiply imputed dataset
#############################################################################
library(BIFIEsurvey)
data(data.timss2, package="BIFIEsurvey" )
datlist <- data.timss2 # list of 5 datasets containing 5 plausible values
#** define imputation method and predictor matrix
data <- datlist[[1]]
V <- ncol(data)
# variables
vars <- colnames(data)
# variables not used for imputation
vars_unused <- miceadds::scan.vec("IDSTUD TOTWGT JKZONE JKREP" )
#- define imputation method
impMethod <- rep("norm", V )
names(impMethod) <- vars
impMethod[ vars_unused ] <- ""
#- define predictor matrix
predM <- matrix( 1, V, V )
colnames(predM) <- rownames(predM) <- vars
diag(predM) <- 0
predM[, vars_unused ] <- 0
# object of class mids.nmi
imp1 <- miceadds::mice.nmi( datlist, method=impMethod, predictorMatrix=predM,
m=4, maxit=3 )
# object of class nested.datlist
datlist <- miceadds::mids2datlist(imp1)
# object of class NestedImputationList
imp2 <- miceadds::NestedImputationList(datlist)
# weighted correlations
vars <- c("books","ASMMAT","likesc")
ma.wtd.corNA( datlist, vars=vars )
ma.wtd.corNA( imp2, vars=vars )
ma.wtd.corNA( imp1, vars=vars )
#############################################################################
# EXAMPLE 4: Multiply imputed datasets in BIFIEdata format
#############################################################################
library(BIFIEsurvey)
data(data.timss1, package="BIFIEsurvey")
data(data.timssrep, package="BIFIEsurvey")
# create BIFIEdata object
bdat <- BIFIEsurvey::BIFIE.data( data.list=data.timss1, wgt=data.timss1[[1]]$TOTWGT,
wgtrep=data.timssrep[, -1 ] )
summary(bdat)
# create BIFIEdata object in a compact way
bdat2 <- BIFIEsurvey::BIFIE.data( data.list=data.timss1, wgt=data.timss1[[1]]$TOTWGT,
wgtrep=data.timssrep[, -1 ], cdata=TRUE)
summary(bdat2)
# compute skewness
ma.wtd.skewnessNA( bdat, vars=c("ASMMAT", "books" ) )
ma.wtd.skewnessNA( bdat2, vars=c("ASMMAT", "books" ) )
#############################################################################
# EXAMPLE 5: Nested multiply imputed datasets in BIFIEdata format
#############################################################################
data(data.timss4, package="BIFIEsurvey")
data(data.timssrep, package="BIFIEsurvey")
# nested imputed dataset, save it in compact format
bdat <- BIFIE.data( data.list=data.timss4, wgt=data.timss4[[1]][[1]]$TOTWGT,
wgtrep=data.timssrep[, -1 ], NMI=TRUE, cdata=TRUE )
summary(bdat)
# skewness
ma.wtd.skewnessNA( bdat, vars=c("ASMMAT", "books" ) )
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.