【发布时间】:2013-06-19 19:16:33
【问题描述】:
我编写了一个小程序来模拟多重回归结果。我可以逐行运行它(使用实际值而不是语法命令),但是当我把它放在 ado 中时,它不能正常工作。
基本思想是使用drawnorm 生成数据集,对其运行回归,然后使用simulate 选项反复进行。我正在使用单个命令行[powersim3, ry1(.30) ry2(.30) r12 (.30) n (282)] to run the syntax below (encased in the *****)。
******
program define powersim3, rclass
syntax, ry1(real)ry2(real)r12(real)n(
real) [my(real 0)m1(real
0)m2(real 0)m3(real 0)sy(real 1) ///
s1(real 1)s2(real 1)s3(real 1)alpha(real .05)help]
matrix m = (`my', `m1', `m2')
matrix sd = (`sy', `s1', `s2')
matrix r = (1, `ry1', `ry2'\ `ry1' , 1 , `r12'\ `ry2' , `r12', 1)
drawnorm y x1 x2, n(`n') corr(r) means(m) sds(sd)
regress y x1 x2
end
simulate _b _se, reps(10000): powersim3
*****
问题似乎是simulate 命令无法识别上面的powersim3 命令(如果您不使用模拟,这将有效)。我希望这里有一个简单的解决方案——但我对 Stata 的熟练程度不高,无法知道简单的答案是什么。任何建议都会非常有帮助。
【问题讨论】:
-
我认为您需要使用
eclass而不是rclass。详情here -
eclass 提供了相同的错误消息。此外,这不是我想应用引导程序的问题。我每次都想要一个新的随机样本,因为这将更正确地估计底层构造(Power)
-
交叉发布到Statalist。最好明确声明。
-
我的道歉回复:国家主义者。有没有办法删除这些消息?这里的界面要简单得多。
-
您对 Statalist 的关注度越来越高。那里没有追溯删除:见stata.com/support/faqs/resources/statalist-faq/#comment 但是如果您更喜欢这个论坛,请不要在Statalist上发帖!