R: Linear and nonlinearconstrasts of survey statistics
svycontrast
R Documentation
Linear and nonlinearconstrasts of survey statistics
Description
Computes linear or nonlinear contrasts of estimates produced by survey
functions (or any object with coef and vcov methods).
Usage
svycontrast(stat, contrasts, ...)
Arguments
stat
object of class svrepstat or svystat
contrasts
A vector or list of vectors of coefficients, or a
call or list of calls
...
For future expansion
Details
If contrasts is a list, the element names are used as
names for the returned statistics.
If an element of contrasts is shorter than coef(stat) and has names, the
names are used to match up the vectors and the remaining elements of
contrasts are assumed to be zero. If the names are not legal
variable names (eg 0.1) they must be quoted (eg "0.1")
If contrasts is a "call" or list of "call"s, the
delta-method is used to compute variances, and the calls must use only
functions that deriv knows how to differentiate. If the
names are not legal variable names they must be quoted with backticks
(eg `0.1`).
Value
Object of class svrepstat or svystat
See Also
regTermTest, svyglm
Examples
data(api)
dclus1<-svydesign(id=~dnum, weights=~pw, data=apiclus1, fpc=~fpc)
a <- svytotal(~api00+enroll+api99, dclus1)
svycontrast(a, list(avg=c(0.5,0,0.5), diff=c(1,0,-1)))
## if contrast vectors have names, zeroes may be omitted
svycontrast(a, list(avg=c(api00=0.5,api99=0.5), diff=c(api00=1,api99=-1)))
## nonlinear contrasts
svycontrast(a, quote(api00/api99))
svyratio(~api00, ~api99, dclus1)
## Example: standardised skewness coefficient
moments<-svymean(~I(api00^3)+I(api00^2)+I(api00), dclus1)
svycontrast(moments,
quote((`I(api00^3)`-3*`I(api00^2)`*`I(api00)`+ 3*`I(api00)`*`I(api00)`^2-`I(api00)`^3)/
(`I(api00^2)`-`I(api00)`^2)^1.5))