Learn R Programming

survey (version 4.4-2)

trimWeights: Trim sampling weights

Description

Trims very high or very low sampling weights to reduce the influence of outlying observations. In a replicate-weight design object, the replicate weights are also trimmed. The total amount trimmed is divided among the observations that were not trimmed, so that the total weight remains the same.

Usage

trimWeights(design, upper = Inf, lower = -Inf, ...)
# S3 method for survey.design2
trimWeights(design, upper = Inf, lower = -Inf, strict=FALSE,...)
# S3 method for svyrep.design
trimWeights(design, upper = Inf, lower = -Inf,
strict=FALSE, compress=FALSE,...)

Value

A new survey design object with trimmed weights.

Arguments

design

A survey design object

upper

Upper bound for weights

lower

Lower bound for weights

strict

The reapportionment of the `trimmings' from the weights can push other weights over the limits. If trim=TRUE the function repeats the trimming iteratively to prevent this. For replicate-weight designs strict applies only to the trimming of the sampling weights.

compress

Compress the replicate weights after trimming.

...

Other arguments for future expansion

See Also

calibrate has a trim option for trimming the calibration adjustments.

Examples

Run this code
data(api)
dclus1<-svydesign(id=~dnum, weights=~pw, data=apiclus1, fpc=~fpc)

pop.totals<-c(`(Intercept)`=6194, stypeH=755, stypeM=1018,
api99=3914069)
dclus1g<-calibrate(dclus1, ~stype+api99, pop.totals)

summary(weights(dclus1g))
dclus1t<-trimWeights(dclus1g,lower=20, upper=45)
summary(weights(dclus1t))
dclus1tt<-trimWeights(dclus1g, lower=20, upper=45,strict=TRUE)
summary(weights(dclus1tt))


svymean(~api99+api00+stype, dclus1g)
svymean(~api99+api00+stype, dclus1t)
svymean(~api99+api00+stype, dclus1tt)

Run the code above in your browser using DataLab