首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于Stata中bysort之后tabstat用法的说明

关于Stata中bysort之后tabstat用法的说明
EN

Stack Overflow用户
提问于 2020-06-11 05:46:05
回答 1查看 128关注 0票数 1

关于Stata中tabstat命令的输出,我有一个相当简单的问题。

更具体地说,我有一个大型的面板数据集,其中包含9年时间内的数十万个观察值。

上下文:

bysort year industry: egen total_expenses=total(expenses)

这一行应该创建年和行业的总费用(或一个特定行业的所有id在一个特定年的所有费用的总和)。

然后我使用:

tabstat total_expenses, by(country)

据我所知,tabstat应该以表格的形式显示费用的方式。请注意,ids因国家/地区而异。

在这种情况下,tabstat计算了特定国家所有行业所有9年的平均值,还是从我的面板数据中计算了每个国家的一年和一个行业的平均值?

如果在以下上下文中使用此命令,会发生什么情况:

bysort year industry: egen mean_expenses=mean(expenses)

tabstat mean_expenses, by(country)

tabstat是否创造了手段?这有点让人困惑。

EN

回答 1

Stack Overflow用户

发布于 2020-06-11 14:43:22

我不知道tabstat做了什么让您感到困惑,但您需要清楚计算意味着什么。你的数据集太大了,不能在这里发布,但为了你自己和我们的利益,创建一个小的沙箱数据集将帮助你了解正在发生的事情。你应该尝试正确答案(你想要的)是显而易见的,或者至少是容易计算的例子。

作为一个细节,你关于is不同于国家的解释本身就是令人困惑的。我的猜测是,你的数据是关于公司的,相关的标识符标识了公司。然后,您可以分别按industrycountry以及year进行聚合。

代码语言:javascript
复制
bysort year industry: egen total_expenses = total(expenses)

这确实会计算总数,并将其分配给每个观察值。因此,如果行业A和2013有123个观察值,那么在新变量中将有123个相同值。

代码语言:javascript
复制
tabstat total_expenses, by(country) 

重要的细节是tabstat在默认情况下计算并显示平均值。它只适用于所有可用的观察值,除非您另行指定。Stata没有记忆,也不了解total_expenses是如何计算出来的。平均值将不会考虑每个(industryyear)组合中的不同数字。不能为(industryyear)组合选择单个值。

你的最后一个问题确实有同样的味道。您的命令所要求的是使用所有可用的数据进行暴力计算。实际上,您的计算是根据industrycountryyear的任何组合中的观察值数量进行加权的。

我怀疑您需要了解两个命令(1) collapse和(2) egen,特别是它的tag()函数。如果你使用的是Stata 16,框架可能会对你有用。这应该适用于任何使用更高版本的未来读者。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62313650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档