楼主: qinhanqing
1487 6

[其他] 悬赏50金币求一个stata程序中一处小错误解释 [推广有奖]

  • 3关注
  • 0粉丝

博士生

13%

还不是VIP/贵宾

-

威望
0
论坛币
874 个
通用积分
0.1002
学术水平
1 点
热心指数
4 点
信用等级
1 点
经验
545 点
帖子
94
精华
0
在线时间
355 小时
注册时间
2010-6-2
最后登录
2025-3-13

楼主
qinhanqing 发表于 2012-3-31 20:12:03 |AI写论文
50论坛币
以下一段stata程序执行到最后提示出错,请告知如何改正,谢谢。
capture program drop hw2question2
program hw2question2
args  lnf a1 a2 a3 a4 a5 a6 a7 g1 g2 g3 g4 g5 g6 g7
tempvar phi1 phi2 phi3 phi4 phi5 phi6 phi7
quietly {
         generate double `phi1' = `a1' * $ML_y2 - `g1'
   generate double `phi2' = (`a1' - `a2') * $ML_y2 - `g1' - `g2'
   generate double `phi3' = (`a1' - `a2' - `a3') * $ML_y2 - `g1' - `g2' - `g3'
   generate double `phi4' = (`a1' - `a2' - `a3' - `a4') * $ML_y2 - `g1' - `g2' - `g3' - `g4'
   generate double `phi5' = (`a1' - `a2' - `a3' - `a4' - `a5') * $ML_y2 - `g1' - `g2' - `g3' - `g4' - `g5'
   generate double `phi6' = (`a1' - `a2' - `a3' - `a4' - `a5'- `a6') * $ML_y2 - `g1' - `g2' - `g3' - `g4' - `g5' - `g6'
   generate double `phi7' = (`a1' - `a2' - `a3' - `a4' - `a5'- `a6' - `a7') * $ML_y2 - `g1' - `g2' - `g3' - `g4' - `g5' - `g6' - `g7'
   replace `lnf' = ln(1 - normal(`phi1')) if $ML_y1 == 0
         replace `lnf' = ln(normal(`phi1') - normal(`phi2')) if $ML_y1 == 1
         replace `lnf' = ln(normal(`phi2') - normal(`phi3')) if $ML_y1 == 2
         replace `lnf' = ln(normal(`phi3') - normal(`phi4')) if $ML_y1 == 3
         replace `lnf' = ln(normal(`phi4') - normal(`phi5')) if $ML_y1 == 4
         replace `lnf' = ln(normal(`phi5') - normal(`phi6')) if $ML_y1 == 5
         replace `lnf' = ln(normal(`phi6') - normal(`phi7')) if $ML_y1 == 6
         replace `lnf' = ln(normal(`phi7')) if $ML_y1 == 7
         }
end
ml model if hw2question2 (nfirm population = ) (a2: ) (a3: ) (a4: ) (a5: ) (a6: ) (a7: ) (g1: ) (g2: ) (g3: ) (g4: ) (g5: ) (g6: ) (g7: )
ml maximize
ml display
program drop hw2question2

执行结果:

. ml model if hw2question2 (nfirm population = ) (a2: ) (a3: ) (a4: ) (a5: ) (a6: ) (a7: ) (g1: ) (g2: ) (g3: ) (g4: ) (g5: ) (g6: ) (g7: )
model required
r(100);
end of do-file

最佳答案

sungmoo 查看完整内容

不是if而是lf。 另外,最好贴出部分数据,并介绍一下你的任务。
关键词:stata程序 Stata 50金币 tata Population generate double 程序 如何

回帖推荐

sungmoo 发表于2楼  查看完整内容

不是if而是lf。 另外,最好贴出部分数据,并介绍一下你的任务。

沙发
sungmoo 发表于 2012-3-31 20:12:04
ml model if
不是if而是lf。

另外,最好贴出部分数据,并介绍一下你的任务。

藤椅
bbs0805 发表于 2012-4-1 07:35:09
sungmoo 发表于 2012-4-1 06:33
不是if而是lf。

另外,最好贴出部分数据,并介绍一下你的任务。
同意

板凳
luhmann 发表于 2012-4-1 08:56:19
或许是这里有bug:
ml model lf hw2question2 nfirm population a2 a3 a4 a5 a6 a7 g1 g2 g3 g4 g5 g6 g7

不是if,而应当是lf?
另外,从hw2question2的定义来看,其后面的参数应当是变量。

报纸
qinhanqing 发表于 2012-4-1 18:49:57
sungmoo 发表于 2012-3-31 20:12
不是if而是lf。

另外,最好贴出部分数据,并介绍一下你的任务。
谢谢。不过我不知系统何时奉送金币,请稍待。

地板
qinhanqing 发表于 2012-4-1 18:53:36
luhmann 发表于 2012-4-1 08:56
或许是这里有bug:
ml model lf hw2question2 nfirm population a2 a3 a4 a5 a6 a7 g1 g2 g3 g4 g5 g6 g7
...
确实是"if"部分出错,不过由于有人回复在先,悬赏的金币不能相送。但还是很感谢,不知系统是否有可以赠送金币的方式,若有,愿送上20金币。或者以后你有需要下书,可代为下载。谢谢

7
qinhanqing 发表于 2012-4-1 18:54:30
The problem has been solved. Thank you for all the people responsed.

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-17 01:06