关于Stata中tabstat
命令的输出,我有一个相当简单的问题。
更具体地说,我有一个大型的面板数据集,其中包含在9年内数十万个观测值。
上下文:
bysort year industry: egen total_expenses=total(expenses)
此行应按年份和行业创建总支出(或某一特定行业在特定年份中所有ID的所有支出之和)。
然后我正在使用:
tabstat total_expenses, by(country)
据我了解,tabstat
应该以表格形式显示支出方式。请注意,ID与国家/地区不同。
在这种情况下,tabstat
计算出一个特定国家/地区所有行业的所有9年平均值,还是从我的面板数据中得出每个国家/地区每个行业一个年份的平均值?
如果在以下上下文中使用此命令会发生什么:
bysort year industry: egen mean_expenses=mean(expenses)
tabstat mean_expenses, by(country)
tabstat
是否创造出经济手段?这有点令人困惑。
答案 0 :(得分:1)
我不知道tabstat
的作用是什么使您感到困惑,但是您需要清楚计算手段的含义。您的数据集太大了,无法在此处发布,但是就您和我们而言,创建一个很小的沙箱数据集将帮助您了解正在发生的事情。您应该尝试一些示例,在这些示例中,正确答案(您想要的)显而易见或至少易于计算。
作为详细信息,您对id与国家/地区不同的解释本身令人困惑。我的猜测是您的数据是关于公司的,并且相关标识符可以识别该公司。然后,您可以通过industry
和country
进行聚合,并分别通过year
进行聚合。
bysort year industry: egen total_expenses = total(expenses)
这会计算总计并将其分配给每个观察值。因此,如果对行业A和2013有123个观察值,则新变量中将有123个相同的总计值。
tabstat total_expenses, by(country)
重要的细节是tabstat
默认情况下会计算并显示平均值。除非另有说明,否则它仅适用于所有可用的观测值。 Stata没有记忆或不了解total_expenses
的计算方式。在每个(industry
,year
)组合中,均值将不考虑不同的数字。 (industry
,year
)组合没有单个值的选择。
您的最后一个问题确实具有相同的味道。您的命令要求使用所有可用数据进行蛮力计算。实际上,您的计算将根据industry
,country
和year
的任何组合中观察值的数量进行加权。
我怀疑您需要了解两个命令(1)collapse
和(2)egen
,特别是其tag()
功能。如果您使用的是Stata 16,框架可能对您有用。这应该适用于以后使用更高版本的读者。