全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2764 5
2023-10-29
如下图,我想根据stkcd将企业分组,若一个企业的Decision在2012-2022都为1则将该企业所有年份的数据都删除,该怎么做呢?


附件列表
微信图片_20231029204829.png

原图尺寸 17.91 KB

微信图片_20231029204829.png

二维码

扫码加我 拉你入群

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

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

全部回复
2023-10-30 00:14:03
十年间division 都是1的才删除,意思是上图stkcd 为2的不算是1,所以不删除是吧
二维码

扫码加我 拉你入群

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

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

2023-10-30 14:47:05
com&go 发表于 2023-10-30 00:14
十年间division 都是1的才删除,意思是上图stkcd 为2的不算是1,所以不删除是吧
不是的,stkcd表示不同的公司,我的意思是,如果同一个公司每一年的Decision取值都为1,则将这个公司整体删除
二维码

扫码加我 拉你入群

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

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

2023-10-30 14:52:18
在Stata中,你可以按照以下步骤根据stkcd将企业分组,并删除Decision在2012-2022年都为1的企业的所有年份数据:
使用`sort`命令按照stkcd和年份对数据进行排序。假设你的数据集中有`stkcd`(企业代码)和`year`(年份)两个变量,你可以使用以下命令进行排序:
   sort stkcd year
创建一个新变量来标识Decision在2012-2022年都为1的企业。假设你的Decision变量名为`decision`,你可以使用以下命令创建一个名为`all_ones`的新变量:
   by stkcd: gen all_ones = (sum(decision) == 11)
命令使用了`by`前缀来按照stkcd对数据进行分组,并使用`sum(decision)`计算每个企业的Decision总和。然后,`(sum(decision) == 11)`将返回一个布尔值,表示Decision在2012-2022年都为1的企业。
删除Decision在2012-2022年都为1的企业的所有年份数据。你可以使用 drop if all_ones  这个命令将删除所有满足`all_ones`条件的观测值。
二维码

扫码加我 拉你入群

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

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

2023-10-30 19:23:27
Boring欸 发表于 2023-10-30 14:47
不是的,stkcd表示不同的公司,我的意思是,如果同一个公司每一年的Decision取值都为1,则将这个公司整体 ...
了解了,正如楼上说的,以stkcd来排序,求所有年份division 总和,drop点为11的
二维码

扫码加我 拉你入群

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

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

2023-10-31 19:39:46
复制代码
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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