r - sample() 中的别名方法

标签 r

在R中,在应用sample()时,如果replace为true,当大于时使用Walker的别名方法。 250 合理可能的值。有没有办法让 sample() 始终使用别名方法?谢谢!

最佳答案

一种选择是复制您的 xprob向量次数足够多,结果向量长于 250 个元素。这是一个黑客,当然,但一个有趣的!

sampleWalker <- function(x, size, prob) {
    nx <- length(x)
    nrep <- 251 %/% nx + 1
    sample(x = rep(x, nrep), size = size, replace = TRUE, prob = rep(prob, nrep))
}

sampleWalker(1:3, 10, prob = 1:3)
#  [1] 3 1 2 3 3 2 2 1 2 3
# Warning message:
# In sample.int(length(x), size, replace, prob) :
#   Walker's alias method used: results are different from R < 2.2.0

关于r - sample() 中的别名方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13868679/

相关文章:

r - `dplyr::percent_rank` 中的错字?

javascript - RSelenium 和 Javascript

r - 在 R 中计算 AR(2) 过程的相关系数

r - 如何在R中使用paste0插入反斜杠后跟单引号?

r - 如何按固定成交量大小汇总股市数据?

r - 如何将矩阵列作为参数传递给 .apply 函数?

替换结构相同的 S4 对象列表中每个元素中 @slot 的值

r - lapply 和 sapply 在 data.frame 上测试每列中的所有元素以获得单个逻辑

r - 根据日期范围合并行

r - 多列计算和多因子水平聚合值