【发布时间】:2013-01-16 08:35:07
【问题描述】:
我有一个结果变量x 和三个解释变量a, b, c,它们是分类变量。在我的示例中,a 有 8 个级别,b 有 4 个级别,c 有 35 个级别,但并非这三个变量的所有组合都有观察值(这可能并不重要)。
如果我在 Stata 中运行以下加法方差分析模型
anova x a b c
adjust, by(a b) gen(y)
然后我获得变量x 的预测值,该变量由变量a 和b 调整。调整命令在结果窗口中输出下表,并生成一个带有调整预测的变量y。
| b
a | 2 4 8 16
----------+-----------------------------------
50 | .016655 .018487
75 | .008286 .011237
100 | .005937 .006677 .012467
150 | .001905 .004038 .009454
200 | .001774 .003107 .007592 .010081
400 | .004982 .006853 .009342
800 | .002126 .00521
1000 | .002732 .005221
----------------------------------------------
Key: Linear Prediction
我的问题是变量y 对a, b 和c 的每个组合都有一个值,而上表只有a 和b 的每个组合的值。如何保存表格中的结果,以便可以使用这些结果?表中的值与y中的值有什么联系?
提前致谢。
更新:我在help adjust找到了这个:
在估算命令中使用但未包含在 by() 变量列表或调整变量列表中的变量保留其当前值,观察 观察。这里 adjust 显示平均估计预测(或相应的概率或指数预测),用变量定义的每个组中的这些未指定变量的平均值替换 在 by() 选项中。
我的数据也是如此。例如,如果 a=75 和 b=2,则 c 的值是 12、13、14、15、16。 y 对应于c=14 的值(即平均值)正是表中显示的值。但是,如果这些值的平均值不是它所取的值怎么办?
【问题讨论】:
-
一组值的平均值不必是其中一个值。 Stata 显示有条件的预测,而不是回显数据。
-
完全正确,但我该如何获得
c平均值的预测值?该表在返回列表中没有留下任何内容,所以我想我必须使用“gen”选项进行调整。但正如我所说,使用“gen”只会对原始值进行预测。 -
切换到
margins。adjust仍然有效,但已被margins取代。 (如果您有过期的 Stata 版本,则不会有margins,但最好在此处标记您拥有的版本。) -
我使用的是 Stata/SE 12.1。但是
adjust, by(a b)不会产生与margins a#b相同的结果。不应该吗?