全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2493 5
2012-09-28
程序如下
captu prog drop bino
prog bino
args N p
local i=0
local k=0
while `k'<`N'{
local i=`i'+(Binomial(`N',`k',`p')-Binomial(`N',`k'+1,`p'))*abs(`k'/`N'-`p')
local k=`k'+1
}
gen hm=`i'
end

利用以上程序从数据文件中读取两个变量进行计算,生成的hm变量都是同一个数据,即变量的第一行数据的计算值。
请问高手这个问题如何解决啊
非常感谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2012-9-28 09:05:06
你可以先试设定 set obs N   把值先设为missing value  把gen  hm=`i'  改为 replace hm=`i'  in 'k'  具体我没试  你试试看行不.   估计你的程序在gen hm=`i'  有问题的.  
二维码

扫码加我 拉你入群

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

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

2012-9-28 16:48:10
lyc012 发表于 2012-9-28 09:05
你可以先试设定 set obs N   把值先设为missing value  把gen  hm=`i'  改为 replace hm=`i'  in 'k'  具体 ...
非常感谢!
你说的“可以先试设定 set obs N   把值先设为missing value”这个命令怎么写,另外命令replace hm=`i'  in 'k'会显示变量hm不存在!
请教了!
二维码

扫码加我 拉你入群

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

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

2012-9-28 17:02:31
不知stata中是否可以定位记录?
二维码

扫码加我 拉你入群

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

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

2012-9-28 19:04:10
*楼主对问题的表述不很清楚。看看是不是以下结果:

clear all
cap pr drop bino
pr bino
args N p
g hm=.
forv  j=1/`=_N'{
loc i=0
forv k=0/`=`N'[`j']-1'{
  loc i=`i'+(binomial(`N'[`j'],`k',`p'[`j'])-binomial(`N'[`j'],`k'+1,`p'[`j']))*abs(`k'/`N'[`j']-`p'[`j'])
}
replace hm=`i' in `j'
}
end
二维码

扫码加我 拉你入群

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

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

2012-9-28 21:34:17
sungmoo 发表于 2012-9-28 19:04
*楼主对问题的表述不很清楚。看看是不是以下结果:

clear all
sungmoo,你是高手啊
再问一个问题,Stata里Binomial()与binomial()是不是不一样,我分别用这两个函数计算同一组数据,得到了不同的结果。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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