小编Rya*_*met的帖子

函数的函数总是返回 0-R

我在 r 中编写函数的函数时遇到问题。具体来说,我想计算 Yahtzee 中掷骰子的几率,当我使用显式参数时,我得到一个数值:

large_straight <- function(){
  rolls <- sample(6, size = 5, replace = TRUE)
  if(all(Numbers %in% c(rolls))) {
    1
  } else if (all(Numbers2 %in% c(rolls))) {
    1
  } else 0
}

sum(replicate(1000, large_straight()))/1000
Run Code Online (Sandbox Code Playgroud)

返回一个非零值,

但是当我尝试概括时,这样我不仅可以通过大的直道,还可以通过其他掷骰子:

my_roll_odds <- function(Size, FUN){
  sum(replicate(Size, FUN))/Size
}

my_roll_odds(1000, large_straight())
Run Code Online (Sandbox Code Playgroud)

我总是得到 0 的返回值,我不知道为什么。任何帮助将不胜感激!

functional-programming r

6
推荐指数
1
解决办法
82
查看次数

标签 统计

functional-programming ×1

r ×1