nonresponse: Experimental: Construct non-response weights

Description Usage Arguments Details Value Examples

View source: R/weightconstruction.R

Description

Functions to simplify the construction of non-reponse weights by combining strata with small numbers or large weights.

Usage

1
2
3
4
5
6
nonresponse(sample.weights, sample.counts, population)
sparseCells(object, count=0,totalweight=Inf, nrweight=1.5)
neighbours(index,object)
joinCells(object,a,...)
## S3 method for class 'nonresponse'
weights(object,...)

Arguments

sample.weights

table of sampling weight by stratifying variables

sample.counts

table of sample counts by stratifying variables

population

table of population size by stratifying variables

object

object of class "nonresponse"

count

Cells with fewer sampled units than this are "sparse"

nrweight

Cells with higher non-response weight than this are "sparse"

totalweight

Cells with average sampling weight times non-response weight higher than this are "sparse"

index

Number of a cell whose neighbours are to be found

a,...

Cells to join

Details

When a stratified survey is conducted with imperfect response it is desirable to rescale the sampling weights to reflect the nonresponse. If some strata have small sample size, high non-response, or already had high sampling weights it may be desirable to get less variable non-response weights by averaging non-response across strata. Suitable strata to collapse may be similar on the stratifying variables and/or on the level of non-response.

nonresponse() combines stratified tables of population size, sample size, and sample weight into an object. sparseCells identifies cells that may need combining. neighbours describes the cells adjacent to a specified cell, and joinCells collapses the specified cells. When the collapsing is complete, use weights() to extract the nonresponse weights.

Value

nonresponse and joinCells return objects of class "nonresponse", neighbours and sparseCells return objects of class "nonresponseSubset"

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
data(api)
## pretend the sampling was stratified on three variables
poptable<-xtabs(~sch.wide+comp.imp+stype,data=apipop)
sample.count<-xtabs(~sch.wide+comp.imp+stype,data=apiclus1)
sample.weight<-xtabs(pw~sch.wide+comp.imp+stype, data=apiclus1)

## create a nonresponse object
nr<-nonresponse(sample.weight,sample.count, poptable)

## sparse cells
sparseCells(nr)

## Look at neighbours
neighbours(3,nr)
neighbours(11,nr)

## Collapse some contiguous cells
nr1<-joinCells(nr,3,5,7)

## sparse cells now
sparseCells(nr1)
nr2<-joinCells(nr1,3,11,8)

nr2

## one relatively sparse cell
sparseCells(nr2)
## but nothing suitable to join it to
neighbours(3,nr2)

## extract the weights
weights(nr2)

Example output

Loading required package: grid
Loading required package: Matrix
Loading required package: survival

Attaching package: 'survey'

The following object is masked from 'package:graphics':

    dotchart

sparseCells(nr)
Cells: 3 5 7 11
Indices:
   sch.wide comp.imp stype
3  "No"     "Yes"    "E"  
5  "No"     "No"     "H"  
7  "No"     "Yes"    "H"  
11 "No"     "Yes"    "M"  
Summary:
   NRwt  wt n
3   Inf Inf 0
5   3.2 108 3
7   Inf Inf 0
11  Inf Inf 0
`[.nonresponse`(object, nbour.index)
Cells: 4 7 1
Indices:
  sch.wide comp.imp stype
4 "Yes"    "Yes"    "E"  
7 "No"     "Yes"    "H"  
1 "No"     "No"     "E"  
Summary:
  NRwt   wt   n
4 0.92 31.1 112
7  Inf  Inf   0
1 1.04 35.2  12
`[.nonresponse`(object, nbour.index)
Cells: 12 9 7
Indices:
   sch.wide comp.imp stype
12 "Yes"    "Yes"    "M"  
9  "No"     "No"     "M"  
7  "No"     "Yes"    "H"  
Summary:
    NRwt   wt  n
12 1.290 43.6 14
9  0.916 31.0  8
7    Inf  Inf  0
sparseCells(nr1)
Cells: 3 11
Indices:
   sch.wide comp.imp stype
3  "No"     "Yes"    "E"  
11 "No"     "Yes"    "M"  
Summary:
   NRwt  wt n
3  3.78 128 3
11  Inf Inf 0
Call: nonresponse(sample.weight, sample.count, poptable)
12 original cells,  8 distinct cells remaining
Joins:
3 5 7 
3 5 7 8 11 
     counts         NRweights         totalwts    
 Min.   :  3.00   Min.   :0.6840   Min.   :23.15  
 1st Qu.:  7.00   1st Qu.:0.8956   1st Qu.:30.31  
 Median : 11.00   Median :0.9793   Median :33.15  
 Mean   : 22.88   Mean   :1.1461   Mean   :38.79  
 3rd Qu.: 15.50   3rd Qu.:1.3142   3rd Qu.:44.48  
 Max.   :112.00   Max.   :2.0977   Max.   :71.00  
sparseCells(nr2)
Cells: 3
Indices:
  sch.wide comp.imp stype
3 "No"     "Yes"    "E"  
Summary:
  NRwt wt  n
3  2.1 71 10
`[.nonresponse`(object, nbour.index)
Cells: 4 1 6 9 12
Indices:
   sch.wide comp.imp stype
4  "Yes"    "Yes"    "E"  
1  "No"     "No"     "E"  
6  "Yes"    "No"     "H"  
9  "No"     "No"     "M"  
12 "Yes"    "Yes"    "M"  
Summary:
    NRwt   wt   n
4  0.920 31.1 112
1  1.040 35.2  12
6  0.835 28.2   4
9  0.916 31.0   8
12 1.290 43.6  14
, , stype = E

        comp.imp
sch.wide        No       Yes
     No  1.0389893 2.0976751
     Yes 0.6839602 0.9195794

, , stype = H

        comp.imp
sch.wide        No      Yes
     No  2.0976751 2.097675
     Yes 0.8346383 2.097675

, , stype = M

        comp.imp
sch.wide        No      Yes
     No  0.9158863 2.097675
     Yes 1.3886018 1.289416

survey documentation built on July 19, 2021, 9:06 a.m.