Approximate Inclusion Probabilities for Survey Sampling

Approximate joint-inclusion probabilities in Unequal Probability Sampling, or compute Monte Carlo approximations of the first and second-order inclusion probabilities of a general sampling design as in Fattorini (2006) .

Travis-CI Build Status CRAN_Status_Badge


This package provides functions to approximate joint-inclusion probabilities in Unequal Probability Sampling, or to find Monte Carlo approximations of first and second-order inclusion probabilities of a general sampling design.

The main functions are:

  • jip_approx(): returns a matrix of approximated joint-inclusion probabilities for unequal probability sampling design with high entropy;
  • jip_MonteCarlo(): produces a matrix of first and second order inclusion probabilities for a given sampling design, approximated through Monte Carlo simulation. This method of approximation is more flexible but also computer-intensive.
  • HTvar(): returns the Horvitz-Thompson or Sen-Yates-Grundy variance or their estimates, computed using true inclusion probabilities or an approximation obtained by jip_approx() or jip_MonteCarlo().


The development version of the package can be installed from GitHub:



### Generate population data ---
N <- 20; n <- 5
x <- rgamma(500, scale=10, shape=5)
y <- abs( 2*x + 3.7*sqrt(x) * rnorm(N) )
pik <- n * x/sum(x)
### Approximate joint-inclusion probabilities for high entropy designs ---
pikl <- jip_approx(pik, method='Hajek')
pikl <- jip_approx(pik, method='HartleyRao')
pikl <- jip_approx(pik, method='Tille')
pikl <- jip_approx(pik, method='Brewer1')
pikl <- jip_approx(pik, method='Brewer2')
pikl <- jip_approx(pik, method='Brewer3')
pikl <- jip_approx(pik, method='Brewer4')
### Approximate inclusion probabilities through Monte Carlo simulation ---
pikl <- jip_MonteCarlo(x=pik, n = n, replications = 100, design = "brewer")
pikl <- jip_MonteCarlo(x=pik, n = n, replications = 100, design = "tille")
pikl <- jip_MonteCarlo(x=pik, n = n, replications = 100, design = "poisson")
pikl <- jip_MonteCarlo(x=pik, n = n, replications = 100, design = "maxEntropy")
pikl <- jip_MonteCarlo(x=pik, n = n, replications = 100, design = "randomSystematic")
pikl <- jip_MonteCarlo(x=pik, n = n, replications = 100, design = "systematic")
pikl <- jip_MonteCarlo(x=pik, n = n, replications = 100, design = "sampford")


  • Please, report any bug or issue here.
  • For more information, please contact the maintainer at [email protected].


Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.1.2 by Roberto Sichera, 2 months ago

Report a bug at

Browse source code at

Authors: Roberto Sichera [aut, cre]

Documentation:   PDF Manual  

GPL-3 license

Imports sampling

See at CRAN