交叉发布:德语: http: //www.stata-forum.de/post1716.html#p1716 英语:http ://www.talkstats.com/showthread.php/47299-sales-growth-rate-with-multiple -组条件
我想计算Stata中不同公司组的年销售额增长率。这些公司按变量country
和分组industry
。
我对每个组的销售额求和(称为sales_total
:一组中所有公司的销售额相等country
,industry
和year
):
bysort country year industry: egen sales_total = sum(sales)
我有一个更大的样本,但我试图用更小的样本来计算增长率。
我尝试了多种组合,例如:
egen group = group(year country industry)
xtset group year, yearly
bys group: g salesgrowth = log(D.sales_total)
或者
bysort group: gen salesgrowth=(sales[_n]-sales[_n-1])/sales[_n-1]*
也与tsset
.
并从这个答案中尝试了一切: 在Stata的年度观察之间产生百分比变化?
但我总是收到错误消息,例如
repeated time values within panel
或者
repeated time values within sample
由于变量中的数字重复,例如group
.
你能帮我找出每个组的年增长率(来自同一country
&的公司industry
)吗?
更新
这里又是我观察的一个例子(通常在 10 年内有 10,000 家公司)。也有缺失值(销售额、行业、年份、国家/地区)
公司 -- 国家 -- 年份 -- 行业 -- 销售额
-a --------美国-------1------------1----------300
-a---------美国-------2------------1--------4000
-b---------ger--------1------------1--------200
-b---------ger--------2------------1--------400
-c---------usa------1----------1----------100
-c---------美国------2----------1----------300
-d---------美国------1----------1----------400
-d---------美国------2----------1----------200
-e---------usa------1----------1----------7000
-e---------usa------2----------1----------900
-f---------ger------1----------2---------100
-f---------ger------2----------2----------700
-h---------ger------1----------2----------700
-h---------ger------2----------2----------600
-.................ETC............................... ……
我尝试了您提到的编程,但我有几个变量需要在同一行而不是同一列中使用(我可能需要)。是否有可能保留数据而不进行整形,将它们保持在一行中,例如对观察结果进行分组:
egen group=group(industry year country)
然后尝试
xtset group year
bysort group: sales_growth = log(D.sales)
或者
bysort group: gen sales_growth = (sales[_n]-sales[_n-1])/sales[_n-1]
谢谢!