楼主: muting
1504 5

[问答] 菜鸟再求助 [推广有奖]

  • 0关注
  • 0粉丝

初中生

14%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
76 点
帖子
7
精华
0
在线时间
5 小时
注册时间
2010-3-16
最后登录
2013-3-15

楼主
muting 发表于 2012-8-1 18:43:54 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请问这个程序哪里有问题啊,为什么会出现“错误于if (u2 <= p[y[i]]/0.12) break :  需要TRUE/FALSE值的地方不可以用缺少值”这样的错误呢



rej.exam4_11=function(n)
{x=rep(0,n)
p=c(0.11,0.12,0.09,0.08,0.12,0.10,0.09,0.09,0.10,0.10)
for(i in 1:n)
  {
   y=numeric(n)
   repeat
        {
          u1=runif(1)
          y[i]=floor(n*u1)+1
          u2=runif(1)
          if(u2<=p[y[i]]/0.12)  break
        }
   x[i]=y[i]
  }
}
rej.exam4_11(15)

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:哪里有 function

沙发
qoiqpwqr 发表于 2012-8-1 21:46:55
因为你的p只有10个数,而你的例子里面n=15。如果u1是个很接近1的随机数,y[i]就会比10大,p[y[i]]就是NA了。所以就出错了。

还有一个问题,你的函数没有返回值。

藤椅
muting 发表于 2012-8-2 09:53:42
qoiqpwqr 发表于 2012-8-1 21:46
因为你的p只有10个数,而你的例子里面n=15。如果u1是个很接近1的随机数,y就会比10大,p[y]就是NA了。所以就 ...
果然是这个问题!谢谢了
函数一定要有返回值么?

板凳
qoiqpwqr 发表于 2012-8-2 10:49:27
muting 发表于 2012-8-2 09:53
果然是这个问题!谢谢了
函数一定要有返回值么?
函数不一定非要有返回值。但是你的函数里如果没有返回值,那这个函数的作用是什么?

报纸
tingmu 发表于 2012-8-2 11:53:34
qoiqpwqr 发表于 2012-8-2 10:49
函数不一定非要有返回值。但是你的函数里如果没有返回值,那这个函数的作用是什么?
原来是这样  谢谢哈

地板
issac.you 发表于 2012-8-4 18:15:12
又学习了  版主果然很强大

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

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