代码

ee <- function(x) {   # 该条语句是命名一个已 ee 为名的猜正反游戏,1 为正,0 为反。
  # 该条语句是求一个命为 s 的二向分布,只会得出 0 与 1 ,且几率相等。
  s <- rbinom(1, 1, .5)
  # 当所猜 x > s 时,提示猜高了,x < s 时提示猜低了,均是错误的结果。只有机不高又不低的相等才代表猜对了,并以 Bingo! 来提示。
  if (x > s)
    "High!"
  else if (x < s)
    "Low!"
  else
    " Bingo! " 
}

演示

# 当x为1猜正时,得出高了,表明结果为0。代表反,提示猜错了。
# 当x为1猜正时,得出相等,表明结果为1。代表正,提示猜对了。
# 当x为0猜负时,得出相等,表明结果为0。代表负,提示猜对了。
# 当x为0猜负时,得出低了,表明结果为1。代表正,提示猜错了。
ee(1)
## [1] "High!"
ee(1) 
## [1] "High!"
ee(0)
## [1] "Low!"
ee(0)
## [1] " Bingo! "

点评

这是一个猜数的小游戏,借助 R 中的 rbinom() 函数来从 0 和 1 中随机生成一个数,然后和输入参数进行比较后输出结果。

在 R 中有不少各种分布的随机函数,可以提供服从相应分布的随机序列。它们的函数名均为 rdistro()(其中 distro 为分布名的简写,如 rnorm()runif() 等),在一些需要随机数值的程序中可以很方便地进行调用。

此外,写注释是个很不错的习惯~