withReplicates {survey} R Documentation

## Compute variances by replicate weighting

### Description

Given a function or expression computing a statistic based on sampling weights, `withReplicates` evaluates the statistic and produces a replicate-based estimate of variance.

### Usage

```withReplicates(design, theta, rho = NULL, ..., scale.weights=FALSE, return.replicates=FALSE)
```

### Arguments

 `design` A survey design with replicate weights (eg from `svrepdesign`) `theta` A function or expression: see Details below `rho` If `design` uses BRR weights, `rho` optionally specifies the parameter for Fay's variance estimator. `...` Other arguments to `theta` `scale.weights` Divide the probability weights by their sum (can help with overflow problems) `return.replicates` Return the replicate estimates as well as the variance?

### Details

If `theta` is a function its first argument will be a vector of weights and the second argument will be a data frame containing the variables from the design object.

If it is an expression, the sampling weights will be available as the variable `.weights`. Variables in the design object will also be in scope. It is possible to use global variables in the expression, but unwise, as they may be masked by local variables inside `withReplicates`.

### Value

If `return.replicates=FALSE`, the weighted statistic, with the variance matrix as the `"var"` attribute. If `return.replicates=TRUE`, a list with elements `theta` for the usual return value and `replicates` for the replicates.

`svrepdesign`, `as.svrepdesign`, `svrVar`

### Examples

```data(scd)
repweights<-2*cbind(c(1,0,1,0,1,0), c(1,0,0,1,0,1), c(0,1,1,0,0,1),
c(0,1,0,1,1,0))
scdrep<-svrepdesign(data=scd, type="BRR", repweights=repweights)

a<-svyratio(~alive, ~arrests, design=scdrep)
print(a\$ratio)
print(a\$var)
withReplicates(scdrep, quote(sum(.weights*alive)/sum(.weights*arrests)))
withReplicates(scdrep, function(w,data) sum(w*data\$alive)/sum(w*data\$arrests))
```

[Package survey version 3.18 Index]