在R中创建随机数模拟



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

例如,如果人员A选择5,随机数生成器选择25,则人员A必须向我支付$(25-5(^2=$400。如果人A选择25,随机数生成器说10,那么人A会付给我$(25-10(^2=$225。除非A完全猜对了我的号码,否则他总是要付钱的。

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)

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

我不确定你是说你想指定一个选定的数字还是随机采样一个"选择";数字无论如何,下面的函数应该允许你同时做这两件事——如果你想让函数";选择";为您选择的号码,或者有人可以指定号码为";选择">

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))
}

输出:

example_function()
# > example_function()
# chosen  random payment 
# 414     462    2304 
example_function(chosen = 2)
# > example_function(chosen = 2)
# chosen  random payment 
# 2     178   30976 

最新更新