全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
1645 0
2016-06-03
数据由三部分组成,分别是bid=6、bid=10和bid=50

.ado部分的代码如下:
cap program drop mylogit2_if
program define mylogit2_if
version 12.0
args lnf xb
   
qui replace `lnf' = ln(invlogit(bid0-`xb'))       if $ML_y1 == 1 &  $ML_y2 == 1  
qui replace `lnf' = ln(invlogit(bid1-`xb')-invlogit(bid0-`xb'))     if $ML_y1 == 1 &  $ML_y2 == 0
qui replace `lnf' = ln(invlogit(bid2-`xb')-invlogit(bid1-`xb'))      if $ML_y1 == 0 &  $ML_y2 == 1
qui replace `lnf' = ln(1-invlogit(bid2-`xb'))      if $ML_y1 == 0 &  $ML_y2 == 0  
   
   
/* if bid1=6
qui replace `lnf' = ln(invlogit(1-`xb'))       if $ML_y1 == 1   & bid1==6
qui replace `lnf' = ln(invlogit(6-`xb')-invlogit(1-`xb'))    if $ML_y1 == 3.5 & bid1==6
qui replace `lnf' = ln(invlogit(10-`xb')-invlogit(6-`xb'))      if $ML_y1 == 8   & bid1==6
qui replace `lnf' = ln(1-invlogit(10-`xb'))       if $ML_y1 == 10  & bid1==6
*/
     
/* if bid1=10
qui replace `lnf' = ln(invlogit(6-`xb'))            if $ML_y1 == 6   & bid1 == 10
qui replace `lnf' = ln(invlogit(10-`xb')-invlogit(6-`xb'))     if $ML_y1 == 8   & bid1 == 10
qui replace `lnf' = ln(invlogit(50-`xb')-invlogit(10-`xb'))      if $ML_y1 == 30  & bid1 == 10
qui replace `lnf' = ln(1-invlogit(50-`xb'))        if $ML_y1 == 50  & bid1 == 10
*/

/* if bid1=50
qui replace `lnf' = ln(invlogit(10-`xb'))          if $ML_y1 == 10 & bid1 == 50
qui replace `lnf' = ln(invlogit(50-`xb')-invlogit(10-`xb'))   if $ML_y1 == 30 & bid1 == 50
qui replace `lnf' = ln(invlogit(100-`xb')-invlogit(-`xb'))         if $ML_y1 == 75 & bid1 == 50
qui replace `lnf' = ln(1-invlogit(100-`xb'))     if $ML_y1 == 100 & bid1 == 50 */

end

出现的问题是,只能求出bid=6(ml model lf mylogit2_if (firstask secondask=x1sex x2age x3edu x4inc x5pat x6times x7pro x8will) if bid1==6     ml max)时的结果,不能求出bid=10及50的结果,也不能求出三组数据合并在一起的结果。

急求解答问题出在哪里了?

二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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