在Stata中使用带有bootstrap命令的程序

时间:2014-11-06 18:20:50

标签: stata

我试图在Stata中获得比率的标准误差,因此我需要让bootstrap计算这个小程序。但是,在执行bootstrap时,我收到此错误:

‘bob’ invalid name
an error occurred when bootstrap executed myratio

以下是代码:

capture program drop myratio
program define myratio, rclass
args bob
count if ‘bob’== 1
‘empl’ = r(N)
count if ‘bob’== 2
‘uempl’ = r(N)
return scalar ratio = ‘uempl’/‘empl’
end

bootstrap ratio = r(ratio), reps(5) : myratio statuslfs

您怎么看?

1 个答案:

答案 0 :(得分:2)

你的程序有问题。

引号看起来很错误。例子

   local foo = 42 
   di `foo' 

显示使用单引号,可以在Stata中显示

  di char(96) "  " char(39) 

这样的行
 `empl' = r(N)

即使纠正了上述错误,也表明您认为可以通过这种方式分配给本地宏。不是这样;这是一个非常疯狂的猜测。使用

等语法
 local empl = r(N) 

试试这个:

 program myratio, rclass
 args bob
 quietly { 
     count if `bob'== 1
     local empl = r(N)
     count if `bob'== 2
 } 
 return scalar ratio = r(N)/`empl'
 end

N.B。 reps(5)可能仅用于调试目的。