【统计模拟及其R实现】工作时间模拟 06-09上机习题答案 纸上作业答案

本文介绍了一个使用R语言编写的程序,该程序通过定义函数来模拟考克斯过程。其中包括生成指数分布的时间间隔、根据均匀分布决定是否继续工作的概率以及整体的考克斯过程模拟。

题目

R程序

# 06-09 纸上作业题目
# T14

# 定义变量:k lambda alpha
getTime = function(lambda) {
  time = rexp(1, rate=1/lambda)
  time
}

getProb = function(alpha) {
  u = runif(1)
  if (u < alpha) prob = 0 # 继续工作
  else prob = 1 # 停止工作
  prob
}

getCox = function(k, lambda, alpha) {
  T = 0 # 初始化
  for (i in 1:k) {
    T[i] = getTime(lambda)
    if (getProb(alpha[i]) == 1) {
      print(i) # 查看哪个阶段停止工作了,此句可删
      break
    }
  }
  sum(T)
}

getCox(k=10, lambda=10, alpha=runif(10))  # 模拟alpha的值
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值