楼主: 蓝苹果123
553 3

[数据管理求助] 请问如何保留同一分组内的任一行出现特定字符? [推广有奖]

  • 0关注
  • 0粉丝

初中生

33%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
82 点
帖子
7
精华
0
在线时间
15 小时
注册时间
2018-7-5
最后登录
2020-5-16

楼主
蓝苹果123 发表于 2020-3-13 23:30:55 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
有一组数据,示例如下:
ID     STR     
1        abc      
1        def
1        oip
2        uty
2        uts
2        whs


如果按照ID是1/2的分组,只要分组内STR有包含字母"a"的出现,就保留这一组数据。否则就删除,在这个例子里面,最后的结果应该是
ID     STR     
1        abc      
1        def
1        oip



请问怎么实现呢?
二维码

扫码加我 拉你入群

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

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


沙发
震震果实 发表于 2020-3-14 08:39:06

  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input byte ID str3 STR
  4. 1 "abc"
  5. 1 "def"
  6. 1 "oip"
  7. 2 "uty"
  8. 2 "uts"
  9. 2 "whs"
  10. end
复制代码

藤椅
震震果实 发表于 2020-3-14 08:41:17
  1. gen s=index(STR,"a")
  2. bys ID:egen wanted=total(s)
  3. drop if wanted==0
  4. drop wanted
复制代码

板凳
蓝苹果123 发表于 2020-3-14 11:03:02
震震果实 发表于 2020-3-14 08:41
太感谢了!很好的思路!strmatch貌似也可以在这里用

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

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