楼主: levyangel
5438 13

[问答] 请问:如何将某个步骤(该步骤中有FOR语句)重复N次? [推广有奖]

11
shenbaiseshatan 在职认证  发表于 2011-10-22 19:45:28
levyangel 发表于 2011-10-21 17:34
比如将以下过程重复1000次,计算z的均值
m=10;c=5;a=2;b=4
k=rgamma(1,a,b)
  1. m=10;c=5;a=2;b=4
  2. k=rgamma(1,a,b)
  3. z<-c()
  4. for(i in 1:1000)
  5. {
  6.         w=runif(m)
  7.         S=sum(-log(w)/k)
  8.         y=10-2*k
  9.         y.star=1-(a+m)/(S+b)
  10.         z[i]=(y-y.star)^2
  11. }
复制代码
这是循环的形式,另外可以确定的是,这个是可以向量化运算的
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ywh19860616 + 1 + 1 + 1 热心

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

胜人者有力,自胜者强!

12
levyangel 发表于 2011-10-22 21:20:35
我的实际问题比这个要复杂,我再向量化试一下,谢谢你们的热心帮助

13
qoiqpwqr 发表于 2011-10-22 21:24:01
shenbaiseshatan 发表于 2011-10-22 19:45
这是循环的形式,另外可以确定的是,这个是可以向量化运算的
您的程序里的S应该是 S=sum(-2*log(w)/k)

14
shenbaiseshatan 在职认证  发表于 2011-10-22 21:26:29
qoiqpwqr 发表于 2011-10-22 21:24
您的程序里的S应该是 S=sum(-2*log(w)/k)
还是你慧眼,哈哈
胜人者有力,自胜者强!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 17:51