楼主: zyonline1981
16595 6

[数据管理求助] 如何删除不符合要求的样本? [推广有奖]

  • 0关注
  • 18粉丝

已卖:4287份资源

教授

4%

还不是VIP/贵宾

-

威望
0
论坛币
1811 个
通用积分
12.0881
学术水平
17 点
热心指数
32 点
信用等级
21 点
经验
15951 点
帖子
495
精华
0
在线时间
992 小时
注册时间
2009-6-8
最后登录
2025-12-26

楼主
zyonline1981 发表于 2014-12-17 14:38:03 |AI写论文
50论坛币

请教个问题,数据结构如下表,这里仅以两个公司为例(证券代码为600143000020),年度也仅以两个年度为例(20092010)。实际有几千家公司和多个年度。

数据处理计划是:如果公司的每笔借款都披露了性质(即是否披露借款性质为1),则保留该公司样本;如果公司的借款中哪怕仅有一笔借款没有披露性质(即是否披露借款性质为0),如000020所示,则去掉该年度(2010)所有借款样本。

请问这如何在stata中实现?谢谢。

12.jpg

关键词:Stata tata 数据结构 数据处理 如何 样本 计划 证券

沙发
zhegemeirenyong 在职认证  发表于 2014-12-17 15:30:52
按代码分组生成一个flag值=分组中最小的,理论上如果有缺省值的个股这个nflag=0,然后删除就是了。
bys code:egen nflag=min(flag)
drop if nflag==0
drop nflag
已有 1 人评分经验 热心指数 收起 理由
SpencerMeng + 20 + 1 观点有启发

总评分: 经验 + 20  热心指数 + 1   查看全部评分

藤椅
zhegemeirenyong 在职认证  发表于 2014-12-17 15:35:04
bys code year:egen nflag=min(flag)

不好意思,没看清,如果是按年度个股的话应该把year也放入bys

板凳
SpencerMeng 在职认证  发表于 2014-12-27 22:26:36
楼主您好!

按照二楼的想法,想在组内找到disclose的最小值,当然disclose不是0 就是1

我们先建立一个新变量叫做flag,这个变量里面包含着每个股票代码stkid的组内最小值,随后删除为0的股票代码即可。

给你随附代码:
  1. clear
  2. inp stkid year disclose
  3. 1 2000 1
  4. 1 2000 1
  5. 1 2000 1
  6. 2 2001 1
  7. 2 2001 0
  8. 2 2001 1
  9. end

  10. egen flag=min(disclose),by(stkid)
  11. drop if flag==0
复制代码
望采纳

报纸
zyonline1981 发表于 2014-12-31 10:43:46
谢谢啊,二位提的建议都对

地板
bluce-lee 发表于 2016-4-26 12:24:25
zyonline1981 发表于 2014-12-31 10:43
谢谢啊,二位提的建议都对
你倒是采纳一个啊

7
f'w'q 发表于 2021-5-2 15:10:30
bluce-lee 发表于 2016-4-26 12:24
你倒是采纳一个啊
哈哈哈哈哈哈哈哈哈

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-4 10:35