全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
1978 2
2021-11-28
请教学长,一个在stata中根据一定条件进行长数据和宽数据的转换问题。具体如下如,我想固定“企业名”,然后将右侧企业出口的产品,按出口金额从左到右排成纵列。我有尝试用reshape命令,但由于涉及大小排序,没能成功。特来请教,谢谢啦!具体如图: 截屏2021-11-28 下午5.41.32.png
附件列表

附:出口企业-数据.xlsx

大小:10.01 KB

 马上下载

提问附数据

二维码

扫码加我 拉你入群

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

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

全部回复
2021-11-29 22:32:50
可以试试:
clear

input str10 公司 str10 产品 int 出口额


A        a1        20
A        a2        30
A        a3        10
B        b1        33
B        b2        54
B        b3        73
B        b4        60
C        c1        30
C        c2        11
C        c3        58
C        c4        96
C        c5        52
D        d1        12
D        d2        31



end

gsort  公司 -出口额
bys    公司 : gen N = _n
drop   出口额
reshape wide 产品, i(公司) j(N)
二维码

扫码加我 拉你入群

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

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

2021-11-30 18:07:00
Bye,alphene 发表于 2021-11-29 22:32
可以试试:
clear
复制代码


非常感谢答主@Bye,alphene ,笔芯,经测试以上命令正确。

为知其然而知其所以然,我在式子中补充了每一步的解释和响应的效果截图,希望帮到跟我一样有困惑的人。

gsort  公司 -出口额  //表示:固定公司,以出口额对数据集进行分组降序排列,这里的”-“为减号

截屏2021-11-30 下午5.44.20.png


bys    公司 : gen N = _n  //表示:基于上述分组排序生成新的额变量N,其中的值默认降序序号,即1,2,3。

截屏2021-11-30 下午5.45.46.png


drop   出口额  //表示:删除出口额变量

截屏2021-11-30 下午5.46.23.png


reshape wide 产品, i(公司) j(N)  //  此处表示:基于公司名和对应的分组排序N,对产品进行进行宽数据排序,并默认生成产品+带序号的新变量名,”reshape wide“为宽数据命令。

截屏2021-11-30 下午5.06.00.png

延伸阅读:有关长宽数据的转换,这里补充一篇详细的延伸文章:https://www.lianxh.cn/news/4496d980350ea.html


二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群