gpt4 book ai didi

r - 关于随机数生成器的可能问题

转载 作者:行者123 更新时间:2023-12-04 10:11:30 26 4
gpt4 key购买 nike

我需要从整数序列开始生成一定数量的随机数,我使用以下代码:result<-sample(x=c(2:50), size=10e6, replace=T) .我发现增加结果向量的长度(最大长度为10^6),随机数的分布不是 如果向量的长度是随机的 x是奇数。绘制 result 的直方图时我通常会得到序列的第一个数字(在示例中为“2”)有一列(以及许多元素)总是高于其他列。如 x=c(1:50) ,等等 x 的长度是偶数,随机生成器的行为似乎没问题。关于这个奇怪的结果,R 中的随机数生成器有什么问题吗?我在 Ubuntu 13.10 下使用 R 3.0.1。

最佳答案

正如我在上面的评论中提到的,这与随机数生成器完全无关。

考虑:

set.seed(123)
result <- sample(x=c(2:50), size=10e4, replace=TRUE)
x <- hist(result)

enter image description here

好像有点不对劲吧?但仔细看看:
> x$breaks
[1] 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50
> x$counts
[1] 6132 3971 4179 4115 4108 4002 4145 4073 4192 4117 4123 4099 4054 4013 4067 4055 4073 4082 4095
[20] 4088 4044 4050 4027 4096

相对...
> table(result)
result
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
1979 2100 2053 1978 1993 2152 2027 2058 2057 2074 2034 1991 2011 2075 2070 2067 2006 2047 2145 2019
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
2098 2060 2063 2099 2000 2016 2038 1990 2023 1976 2091 2060 1995 2061 2012 2003 2079 2008 2087 2036
42 43 44 45 46 47 48 49 50
2052 1989 2055 2044 2006 2001 2026 2062 2034

请注意,来自 hist 的第一个 bin似乎包括所有 2、3 和 4 值。这是因为 hist 采用的默认分箱策略为 bin 边界增加了一些“模糊性”,这导致前两个断点略小于 2.0,略大于 4.0。将其与正确闭合的间隔相结合,您将得到生成的直方图。

与之比较:
hist(result,breaks = 1:50)

enter image description here

关于r - 关于随机数生成器的可能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23741371/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com