楼主: nerverer
14289 14

[数据管理求助] 如何对分类变量各类别分类加总求和? [推广有奖]

  • 3关注
  • 3粉丝

已卖:2348份资源

本科生

88%

还不是VIP/贵宾

-

威望
0
论坛币
7342 个
通用积分
7.4846
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
942 点
帖子
61
精华
0
在线时间
132 小时
注册时间
2012-11-22
最后登录
2024-4-1

楼主
nerverer 发表于 2016-12-4 21:18:29 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

数据如下图:
希望把两个分类变量:年份和产品编号(year commoditycode),按照国家reporter_num进行加总求和,从而得到全球HS2每年出口总量?
微信截图_20161204211227.png
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:分类变量 Commodity reporter Report Porter 如何

沙发
nerverer 发表于 2016-12-4 21:19:56
数据
year        commoditycode        reporter_num        tradevalueus
1988        1        Australia        2.5e+08
1988        1        Greece        1.3e+06
1988        1        Japan        1.4e+06
1988        1        Iceland        1.8e+06
1988        1        Rep. of Korea        1.7e+07
1988        1        Fmr Fed. Rep. of Germany        4.2e+08
1988        1        Finland        4.8e+06
1988        1        India        597560
1988        1        Portugal        3.4e+06
1988        1        Switzerland        1.9e+07
1988        2        Switzerland        1.0e+07
1988        2        Finland        6.5e+06
1988        2        Portugal        3.1e+06
1988        2        India        6.5e+07
1988        2        Australia        1.8e+09
1988        2        Fmr Fed. Rep. of Germany        1.7e+09
1988        2        Rep. of Korea        6.4e+07
1988        2        Japan        5.7e+06
1988        2        Greece        5.5e+06
1988        2        Iceland        5.9e+06
1988        3        Switzerland        4.7e+06
1988        3        Greece        3.7e+07
1988        3        Rep. of Korea        1.4e+09
1988        3        Portugal        9.8e+07
1988        3        Australia        4.6e+08
1988        3        Iceland        9.5e+08

藤椅
nerverer 发表于 2016-12-4 21:23:02
我的想法是把长数据转换为宽数据,再把宽数据中各国出口变量加总:
reshape wide tradevalueus,i(year commoditycode) j(reporter_num)
再把变量求和。
但是遇到问题:变量reporter_num有缺失值
variable reporter_num contains missing values

板凳
nerverer 发表于 2016-12-5 08:42:25
举了例子吧,比如算出1988年产品1各国贸易量加总的结果。现在有30多年99种产品种类,也就是有3000中结果,不知道用什么方法命令计算起来省力些

报纸
nerverer 发表于 2016-12-5 09:19:46
reporter_num 变量可以drop掉,只要把每种产品,同一年的出口量加总起来就可以了。但是在加总的时候,我还是想用reshape wide,结果还是出现year contains missing values.

地板
张立坚9 发表于 2016-12-5 10:01:14

7
nerverer 发表于 2016-12-5 10:01:39
在高人帮助下,找到了一个办法,分享给大家,如果有更好的办法,希望一起分享。
forvalues j=1988/2015{
egen t`j' = sum( tradevalueus ) if year==`j', by( commoditycode )
replace t`j' =0 if t`j'==.
}
gen a=t1988 +        t1989 +        t1990 +        t1991 +        t1992 +        t1993 +        t1994 ///
+        t1995 +        t1996 +        t1997 +        t1998 +        t1999 +        t2000 +        t2001     ///
+        t2002 +        t2003 +        t2004 +        t2005 +        t2006 +        t2007             ///
+        t2008 +        t2009 +        t2010 +        t2011 +        t2012 +        t2013 +        t2014 +        t2015

8
黃河泉 在职认证  发表于 2016-12-5 10:27:48
nerverer 发表于 2016-12-5 10:01
在高人帮助下,找到了一个办法,分享给大家,如果有更好的办法,希望一起分享。
forvalues j=1988/2015{
...
老实说,看不太懂你的问题,不过应该有更简单之方式求解!你有试过类似
  1. bys commoditycode year: egen t = sum(totalvalueus)
复制代码
之类的指令吗?

9
罗昱1 发表于 2016-12-5 10:30:35

10
nerverer 发表于 2016-12-5 17:07:21
黃河泉 发表于 2016-12-5 10:27
老实说,看不太懂你的问题,不过应该有更简单之方式求解!你有试过类似之类的指令吗?
bys year commoditycode:egen var1=sum(tradevalueus)
我试过了很方便,非常谢谢

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-31 13:54