gpt4 book ai didi

r - 在R中生成3到7位数字的随机数

转载 作者:行者123 更新时间:2023-12-01 11:15:08 24 4
gpt4 key购买 nike

如何以相等的概率生成不同长度的随机数,比如 3 到 7 位数字。

最后,我希望代码能够得出一个由 0 到 9 之间的随机数组成的 3 到 7 位数字(概率相等)。

我想出了这个解决方案,但觉得它过于复杂,因为必须生成数据框。

options(scipen=999)
t <- as.data.frame(c(1000,10000,100000,1000000,10000000))
round(runif(1, 0,1) * sample_n(t,1, replace = TRUE),0)

有没有更优雅的解决方案?

最佳答案

根据您提供的信息,我想出了另一个可能更接近您想要的解决方案。最后,它包括以下步骤:

  • 从[3, 7]中随机选择一个数len确定输出的长度
  • 从[0, 9]中随机选择len个数
  • 连接这些数字

执行此操作的代码:

(len <- runif(1, 3, 7) %/% 1)
(s <- runif(len, 0, 9) %/% 1)
cat(s, sep = "")

我之前提供过这个答案;它不符合要求,但在 OP 提供了更多详细信息后变得很清楚。

这不归结为生成 100 到 9999999 之间的随机数吗?如果是这样,这是否符合您的要求?

runif(5, 100, 9999999) %/% 1

您也可以使用舍入,但您总是必须向下舍入。

输出:

[1] 4531543 9411580 2195906 3510185 1129009

关于r - 在R中生成3到7位数字的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52947946/

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