说我想创建一些标量值,例如median price/median income
mean downpayment/house price
。我知道我可以先使用su
命令,然后分别从r-class中提取分母和分子,然后创建所需的标量。
然而,当我有十几个这样的标量和不同的家庭类型时,这种方法在实践中是乏味的。所以我想知道是否有办法更有效地完成上述工作?如果我可以在Stata中创建一个包含这些标量的表格,那就更有趣了。
答案 0 :(得分:2)
执行摘要:所以,不要使用标量;改用变量。
有一个先前的统计问题,即(比方说)摘要( y )/摘要( x )不一定等于摘要( y / X );一般来说,两者会有所不同。在我看来,后者通常更有意义,但另有说法。
这是一个不太疯狂的例子。在Stata自动数据集中,您需要为每磅重量(物理学家:质量,真的)支付多少钱(大约1978年为美元)?
. sysuse auto
(1978 Automobile Data)
. gen pricePERlb = price/weight
. egen mean = mean(pricePERlb), by(rep78)
. tabstat mean, s(n mean) by(rep78)
Summary for variables: mean
by categories of: rep78 (Repair Record 1978)
rep78 | N mean
---------+--------------------
1 | 2 1.479266
2 | 8 1.731407
3 | 30 1.895855
4 | 18 2.25233
5 | 11 2.472519
---------+--------------------
Total | 69 2.049639
------------------------------
现在这里有一个小小的转折点。这里不需要generate
。我们本可以走了
egen mean = mean(price/weight), by(rep78)
。
这些工具都很简单:generate
创建新变量,egen
创建新变量,这里可以是为组计算的汇总统计数据,tabstat
,以及许多其他制表命令,以显示结果。由于这里的统计数据是按群体内的构造不变,因此要求它们的均值只是获得它们的几种方法之一。同样,graph dot
,graph hbar
等可立即显示。