Pra*_*rni 13 random r random-sample seeding
我想使用R中的sample()函数从我的数据集中随机选择n行.我每次都得到不同的输出,因此使用函数来获得相同的输出.我知道,will 中的每个整数都会给我一个唯一的输出,如果设置相同的种子,输出将是相同的.但我无法弄清楚作为参数传递给函数的整数意味着什么.它只是一个进入随机生成器算法的索引,还是指从您开始采样的数据的某些部分?例如,什么是在是什么意思?set.seed()set.seed()set.seed()2set.seed(2)
Cha*_*lie 21
在过去,有些书籍包含随机数字的页面和页面(当然是随机顺序).
我喜欢把它想象set.seed(x)成告诉计算机开始从随机数字x的大书中读取页面中的随机数.x与数据无关,但应如何开始选择随机数的算法.
这可能有点容易,但我喜欢这个比喻.
随机种子(或种子状态,或仅种子)是用于初始化伪随机数生成器的数字(或向量).
对于要在伪随机数生成器中使用的种子,它不需要是随机的.由于数字生成算法的性质,只要忽略原始种子,算法生成的其余值将以伪随机方式遵循概率分布.
- 维基百科
所以,随机函数可以像这样实现:
int rand_r(unsigned int *seed)
{
*seed = *seed * 1103515245 + 12345;
return (*seed % ((unsigned int)RAND_MAX + 1));
}
Run Code Online (Sandbox Code Playgroud)
(样本取自glibc)
| 归档时间: |
|
| 查看次数: |
15500 次 |
| 最近记录: |