全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1439 4
2011-12-02
在书上看到的程序,结果运行且有好多错误,望高手帮我解答一下,问题出在什么地方。谢谢。

exam=function(Y,ep=1e-5){

  phi=function(x)1/sqrt(2*pi)*exp(-x^2/2)

  p=0.6;mu=3.5;n=length(Y)

  k=1

  repeat{

     k=k+1

p[k]=1/n*p[k-1]*sum(phi(Y-mu[k-1])/p[k-1]*phi(Y-mu[k-1])+(1-p[k-1])*phi(Y)))

mu[k]=sum(phi(Y-mu[k-1])*Y/(p[k-1]*phi(Y-mu[k-1])

       +(1-p[k-1])*phi(Y)))/sum(phi(Y-mu[k-1])/(p[k-1]*phi(Y-mu[k-1])

       +(1-p[k-1])*phi(Y)))

if(abs(p[k]-p[k-1])<=ep&abs(mu[k]-mu[k-1])<=ep)

    break

         }

list(p=p,mu=mu,iter=k-1)

}


错误提示如下:

p[k]=1/n*p[k-1]*sum(phi(Y-mu[k-1])/p[k-1]*phi(Y-mu[k-1])+(1-p[k-1])*phi(Y)))"

> mu[k]=sum(phi(Y-mu[k-1])*Y/(p[k-1]*phi(Y-mu[k-1])

+        +(1-p[k-1])*phi(Y)))/sum(phi(Y-mu[k-1])/(p[k-1]*phi(Y-mu[k-1])

+        +(1-p[k-1])*phi(Y)))

错误: 没有"phi"这个函数

> if(abs(p[k]-p[k-1])<=ep&abs(mu[k]-mu[k-1])<=ep)

+     break

错误: 找不到对象'ep'

>          }

错误: 意外的'}'"         }"

> list(p=p,mu=mu,iter=k-1)

$p

[1] 0.6

$mu

[1] 3.5

$iter

[1] 0

> }

错误: 意外的'}'"}"

>


二维码

扫码加我 拉你入群

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

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

全部回复
2011-12-2 20:42:34
没有人能帮你的。除非你指出是哪一本书,第几页,可以帮你看看。
二维码

扫码加我 拉你入群

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

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

2011-12-2 22:16:16
错误很简单,你的p[k]那一行(第七行)最后多了一个括号
二维码

扫码加我 拉你入群

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

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

2011-12-5 09:19:30
qoiqpwqr 发表于 2011-12-2 22:16
错误很简单,你的p[k]那一行(第七行)最后多了一个括号
谢谢谢谢,现在成功了
二维码

扫码加我 拉你入群

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

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

2011-12-23 00:59:14
R程序的结果在哪显示呢
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群