我试图在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
您怎么看?
答案 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)
可能仅用于调试目的。