全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
34059 11
2018-05-10
如题,STATA怎么按行业计算公司数量?
如下表,现在我想要计算不同ind1中不同stkcd的数量,作为一个新变量num。具体说就是,比如行业11中000002和000006和000007,就是num=3,这个num不受年份acc的影响,也就是对于ind1=11来说,产生了一个新变量num=3。

谢谢大神指教!


----------------------- copy starting from the next line -----------------------
复制代码

------------------ copy up to and including the previous line ------------------



二维码

扫码加我 拉你入群

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

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

全部回复
2018-5-10 16:51:36
请先安装 ssc install egenmore 并试试
复制代码
二维码

扫码加我 拉你入群

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

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

2018-5-10 17:19:19
黃河泉 发表于 2018-5-10 16:51
请先安装 ssc install egenmore 并试试
好像不行。我的意思是,比如ind1=11有stkcd 000002和000006和000007,那就是num=3,如果是ind1=3,有stkcd 000004和000008,那么num=2,以此类推
二维码

扫码加我 拉你入群

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

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

2018-5-10 17:43:07
* Example generated by -dataex-. To install: ssc install dataex
clear
input str6 stkcd int acc byte ind1
"000002" 14975 11
"000002" 15340 11
"000002" 15705 11
"000002" 16070 11
"000002" 16436 11
"000002" 16801 11
"000002" 17166 11
"000002" 17531 11
"000002" 17897 11
"000002" 18262 11
"000002" 18627 11
"000002" 18992 11
"000002" 19358 11
"000002" 19723 11
"000002" 20088 11
"000002" 20453 11
"000002" 20819 11
"000003" 14975 19
"000003" 15340 19
"000004" 14975  3
"000004" 15340  3
"000004" 15705  3
"000004" 16070  3
"000004" 16436  3
"000004" 16801  3
"000004" 17166  3
"000004" 17531  3
"000004" 17897  3
"000004" 18262  3
"000004" 18627  3
"000004" 18992  3
"000004" 19358  3
"000004" 19723  3
"000004" 20088  3
"000004" 20453  3
"000004" 20819  3
"000005" 14975 14
"000005" 15340 14
"000005" 15705 14
"000005" 16070 14
"000005" 16436 14
"000005" 16801 14
"000005" 17166 14
"000005" 17531 14
"000005" 17897 14
"000005" 18262 14
"000005" 18627 14
"000005" 18992 14
"000005" 19358 14
"000005" 19723 14
"000005" 20088 14
"000005" 20453 14
"000005" 20819 14
"000006" 14975 11
"000006" 15340 11
"000006" 15705 11
"000006" 16070 11
"000006" 16436 11
"000006" 16801 11
"000006" 17166 11
"000006" 17531 11
"000006" 17897 11
"000006" 18262 11
"000006" 18627 11
"000006" 18992 11
"000006" 19358 11
"000006" 19723 11
"000006" 20088 11
"000006" 20453 11
"000006" 20819 11
"000007" 14975 11
"000007" 15340 11
"000007" 15705 11
"000007" 16070 11
"000007" 16436 11
"000007" 16801 11
"000007" 17166 11
"000007" 17531 11
"000007" 17897 11
"000007" 18262 11
"000007" 18627 11
"000007" 18992 11
"000007" 19358 11
"000007" 19723 11
"000007" 20088 11
"000007" 20453 11
"000007" 20819 11
"000008" 14975  3
"000008" 15340  3
"000008" 15705  3
"000008" 16070  3
"000008" 16436  3
"000008" 16801  3
"000008" 17166  3
"000008" 17531  3
"000008" 17897  3
"000008" 18262  3
"000008" 18627  3
"000008" 18992  3
"000008" 19358  3
end
format %tdnn/dd/CCYY acc
save "doc1.dta",replace

use "doc1.dta",clear
duplicates drop stkcd,force
bys ind1: gen num = _N
duplicates drop ind1,force
keep ind1 num
save "ind.dta",replace

use "doc1.dta",clear
merge m:1 ind1 using ind.dta,nogen
save "doc2.dta",replace
erase doc1.dta
erase ind.dta
二维码

扫码加我 拉你入群

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

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

2018-5-10 17:57:34
lancelot22 发表于 2018-5-10 17:19
好像不行。我的意思是,比如ind1=11有stkcd 000002和000006和000007,那就是num=3,如果是ind1=3,有stkc ...
奇怪,我的作法就是你要的答案啊?哪里错了?楼上做的答案与我的完全一样!
二维码

扫码加我 拉你入群

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

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

2018-5-12 20:00:58
黃河泉 发表于 2018-5-10 17:57
奇怪,我的作法就是你要的答案啊?哪里错了?楼上做的答案与我的完全一样!
啊!是的!非常抱歉,是我太愚蠢了!!真的非常抱歉!!!您的做法是对的,而且很简单!点赞!!!
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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