dqrng icon indicating copy to clipboard operation
dqrng copied to clipboard

'prob' argument for dqrng::dqsample

Open s3alfisc opened this issue 4 years ago • 5 comments

Hi - first of all, thanks for a great package - it speeds up my code quite a bit!

Do you have any plans to support the prob argument in dqrng::dqsample? It would be super beneficial in my use case - I would like to generate so called 'Mammen weights' for a wild bootstrap, which require such an argument. Right now, I use dqsample for some weights distributions, but have to switch back to sample() for Mammen weights. This in turn causes some trouble with setting a 'global seed' - for Mammen weights, the user of my package would have to set it via set.seed() outside of the bootstrap, and for all other weights use dqrng::dqset.seed() (but of course that is not your problem to solve!)

library(dqrng)

dqrng::dqset.seed(89899807)

n <- 10
mammen_dqrng <- 
  dqrng::dqsample(c(-1, 1) * (sqrt(5) + c(-1, 1))/2, n, replace = TRUE,
                            prob = (sqrt(5) + c(1, -1))/(2 * sqrt(5)))
# Warning message:
#   In dqsample.int(length(x), size, replace, prob) :
#   Using 'prob' is not supported yet. Using default 'sample.int'.

s3alfisc avatar Nov 06 '21 16:11 s3alfisc

+1. I need this argument too. Did the author abandon the project?

avraam-inside avatar Oct 15 '22 20:10 avraam-inside

duplicate of #18, but I am finally working on this: https://stubner.me/2022/12/roulette-wheel-selection-for-dqrng/

rstub avatar Dec 29 '22 22:12 rstub

@s3alfisc, @avraam-inside: The code for weighted sampling has been finally merged. Feel free to give it a try. Version 0.3.0.2 should be on https://rstub.r-universe.dev/dqrng soon.

rstub avatar Jul 30 '23 16:07 rstub

Amazing, will do! Thanks for notifying me =)

s3alfisc avatar Jul 30 '23 19:07 s3alfisc

As noted in #52, there are some more things I need to consider w.r.t. to weighted sampling. I will have to back out that code for now in order to release the other changes that have accumulated.

rstub avatar Aug 30 '23 10:08 rstub