首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中创建随机数模拟

在R中创建随机数模拟
EN

Stack Overflow用户
提问于 2022-09-27 18:16:48
回答 1查看 40关注 0票数 0

我想在R中创建一个随机模拟,其中Person A可以选择0:500之间的整数,然后使用sample()随机选择0到500之间的整数。该模型的结果是确定A选择的数字与产生的随机数之间的平方差,反之亦然。

例如,如果Person A选择5,随机数生成器选择25,那么Person A必须付给我$(25-5)^2=400美元。如果Person A选择25,随机数生成器说10,那么Person A将付给我$(25-10)^2=225美元。除非A人完全猜到了我的号码,否则他总是得付钱。

代码语言:javascript
复制
possible.numbers <- 0:500
chosen.numbers <- 0:500

generated.number <- 
  sample(possible.numbers, 1, replace = TRUE)   

expected.payment <- (generated.number - 30)^2  #assuming I chose $30

print(expected.payment)

我不认为我的代码是正确的,任何帮助都将不胜感激,谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-27 18:34:45

我不确定你是说你想要指定一个选择的数字,还是随机抽样一个“选择的”数字。无论如何,下面的函数应该允许您两者都做--如果您想让函数为您“选择”所选的数字,或者有人可以指定要“选择”的数字,只需保留空白即可。

代码语言:javascript
复制
set.seed(123)

example_function <- function(chosen = NULL, possible_numbers = 0:500){
  if(is.null(chosen)){
    chose <- sample(possible_numbers, 1)
  } else {
    chose <- chosen
  }
  random <- sample(possible_numbers, 1)
  payment <- (random - chose) ^ 2
  return(c(chosen = chose, random = random, payment = payment))
}

产出:

代码语言:javascript
复制
example_function()
# > example_function()
# chosen  random payment 
# 414     462    2304 

example_function(chosen = 2)
# > example_function(chosen = 2)
# chosen  random payment 
# 2     178   30976 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73872146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档