我想在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人完全猜到了我的号码,否则他总是得付钱。
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)我不认为我的代码是正确的,任何帮助都将不胜感激,谢谢!
发布于 2022-09-27 18:34:45
我不确定你是说你想要指定一个选择的数字,还是随机抽样一个“选择的”数字。无论如何,下面的函数应该允许您两者都做--如果您想让函数为您“选择”所选的数字,或者有人可以指定要“选择”的数字,只需保留空白即可。
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 https://stackoverflow.com/questions/73872146
复制相似问题