模拟一个简单的流程代码runif - R编程

Simulation of a simple process code runif - R programming

约翰要么去看望住在市中心的女友,要么去看望住在住宅区的母亲,但不能同时去看望两者。他每天晚上随机去公共汽车站,然后乘坐住宅区或市中心的公共汽车(从同一个公共汽车站出发),以先到者为准。两种公交车每 30 分钟一班,有固定的定时发车时间:市区公交车到站时间是每小时过 a 或 (30 + a) 分钟,上城公交车是 b 或 (30 + b) 每小时过去的分钟数,其中 1 ≤ a < b < 30 是两个整数。

我证明他应该每月看望他妈妈一次(基本概率)。

我想写一个函数f(a,b)可以模拟一次这种体验。然后我想重复这个经历很多次,看看他去看他妈妈的实际次数是否接近b-a。

为此,我将约翰的到达时间定义为:

mom <- function(a,b) {
  JAT <- runif(n=360, min=0, max=59)
  y = 0 # y would be the number of time he went to see his mother
  if(JAT > b) {
    y <- y
  } else {
    y <- y + 1
  }
  return(y)
}

我真的不知道如何使它成为一个正确的函数 f(a,b) 而且我的代码甚至没有 运行 在 R 上(错误消息)。谁能帮我模拟约翰每天晚上进行的实验?非常感谢!

有一个30分钟的循环,在那个循环中出现了一次ab

鉴于a < b,如果t是到达时间,那么决定乘坐哪辆公交车可以概括为:

  • t <= a: 市区巴士
  • a < t <= b住宅区公交车
  • t > b: 市区巴士

因此,计算其中一辆公交车被乘坐次数的函数为:

bus <- function(a,b) {
  arrivals <- runif(n=360, min=0, max=30)
  downtown <- sum( arrivals<=a | arrivals>b )
  uptown   <- sum( arrivals>a & arrivals<=b )
  return(downtown) # or uptown
}