Skip to contents

Two frames together cover the population but neither alone does, and they overlap. Splitting into domains a (frame A only), ab (both) and b (frame B only), $$\hat Y = \hat Y_a + \theta \hat Y_{ab}^A + (1-\theta)\hat Y_{ab}^B + \hat Y_b .$$

Usage

morie_dual_frame_total(
  frame_a,
  frame_b,
  overlap_a,
  overlap_b,
  weights_a = NULL,
  weights_b = NULL,
  theta = NULL,
  alpha = 0.05
)

Arguments

frame_a, frame_b

Observed values in each frame's sample.

overlap_a, overlap_b

1 if that unit is also in the other frame.

weights_a, weights_b

Design weights; default 1.

theta

Overlap weight; default the variance-minimising value.

alpha

Two-sided level.

Value

A list with estimate, theta, theta_optimal, se, naive_pooled_total, overlap_double_count, domain totals.

Details

The failure this guards against is the one that looks like success: POOLING THE TWO SAMPLES DOUBLE-COUNTS THE OVERLAP, and the inflated total is stable across replications because it is bias, not noise. More data makes it more precisely wrong. naive_pooled_total is returned so the gap is visible rather than argued about.

References

Hartley HO (1962) Proc Soc Stat Sect ASA 203-206.

Examples

set.seed(24)
fa <- rnorm(40, 10); fb <- rnorm(30, 12)
oa <- rbinom(40, 1, 0.3); ob <- rbinom(30, 1, 0.4)
r <- morie_dual_frame_total(fa, fb, oa, ob, weights_a = rep(25, 40), weights_b = rep(30, 30))
c(r$estimate, r$theta)
#> [1] 1.628645e+04 8.300393e-01