- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
鉴于以下等价,我们可以推断 R 使用相同的 C runif
为 sample()
生成统一样本的函数和 runif()
...
set.seed(1)
sample(1000,10,replace=TRUE)
#[1] 27 38 58 91 21 90 95 67 63 7
set.seed(1)
ceiling( runif(10) * 1000 )
#[1] 27 38 58 91 21 90 95 67 63 7
n > 2^32 - 1
)时并不等效:
set.seed(1)
ceiling( runif(1e1) * as.numeric(10^12) )
#[1] 265508663143 372123899637 572853363352 908207789995 201681931038 898389684968
#[7] 944675268606 660797792487 629114043899 61786270468
set.seed(1)
sample( as.numeric(10^12) , 1e1 , replace = TRUE )
#[1] 2655086629 5728533837 2016819388 9446752865 6291140337 2059745544 6870228465
#[8] 7698414177 7176185248 3800351852
runif()
的第 1、3、5、...来自
sample()
的第一、第二、第三...的近似结果.
unif_rand()
然而,在幕后,
sample
,给定一个参数,
n
大于
"integer"
类型的最大可表示整数但可以表示为整数类型
"numeric"
使用这个静态定义来绘制一个随机偏差(而不是像
unif_rand()
那样只是
runif()
)...
static R_INLINE double ru()
{
double U = 33554432.0;
return (floor(U*unif_rand()) + unif_rand())/U;
}
Two random numbers are used to ensure uniform sampling of large integers.
U
因为以及为什么它采用特定值 33554432.0
? 最佳答案
原因是 25 位 PRNG 不会产生足够的位来生成范围大于 2^25 的所有可能的整数值。为了给每个可能的整数值赋予非零概率,需要调用 25 位 PRNG 两次。通过两次调用(如您引用的代码),您将获得 50 个随机位。
请注意,一个 double
有 53 位尾数,因此两次调用 PRNG 仍然缺少 3 位。
关于r - 为什么需要两个随机偏差来确保使用 sample() 对大整数进行均匀采样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19838165/
我需要在半径R的圆内生成一个均匀随机点。 我意识到,通过在区间 [0 ... 2π) 中选择均匀随机的角度,并在区间 (0 ... R) 中选择均匀随机的半径,我最终会得到更多的点朝向中心,因为对于两
我想在一个正方形内生成 N 个点(均匀地)。我怎样才能做到这一点? 最佳答案 非常酷的问题,比我想象的要困难得多,但这就是想法。有关于 n 边形的论文,但我只会做正方形。因此,圆的均匀分布是一个常见问
考虑以下示例: import itertools import numpy as np a = np.arange(0,5) b = np.arange(0,3) c = np.arange(0,7)
SQL Server 将一组值分成 5 组,每组的 sum(count) 应该均匀分布。 表仅包含 2 列 rid 和 count。 create table t1(rid int, count in
我有以下简单的 HTML。 A B C 和 CSS: ul { width: 100%; display: flex; flex-direction:
我是一名优秀的程序员,十分优秀!