The goal of wrswoR is to provide faster implementations of weighted random sampling without replacement in R.
You can install the released version of wrswoR from CRAN with:
install.packages("wrswoR")
And the development version from GitHub with:
# install.packages("pak")
# pak::pak("krlmlr/wrswoR")
install.packages("wrswoR", repos = c('https://krlmlr.r-universe.dev', 'https://cloud.r-project.org'))
The functions in this package are a drop-in replacement to sample.int(n, size, replace = FALSE, prob = prob).
With large n, sample.int() becomes too slow to be practical, unlike the functions in this package.
library(wrswoR)
set.seed(20200726)
sample_int_crank(20, 10, 1:20)
#> [1] 8 18 14 17 11 15 10 4 13 5