楼主: cjx0926
22831 7

[数据管理求助] 如何剔除公司名含ST字符的样本? [推广有奖]

  • 0关注
  • 4粉丝

讲师

15%

还不是VIP/贵宾

-

威望
0
论坛币
47 个
通用积分
0.0001
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
7631 点
帖子
306
精华
0
在线时间
476 小时
注册时间
2008-2-18
最后登录
2014-5-5

楼主
cjx0926 发表于 2012-12-26 11:22:04 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
如题,向大家求助。    样本一开始未区分st和非st,现在需要区分。只有在公司名(name)中会出现“st”字符,请问如何将这些st公司挑选出来,或者是标记出来,比如赋值为1。多谢了!

二维码

扫码加我 拉你入群

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

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

关键词:公司名 name ST公司 公司 样本 如何

沙发
sungmoo 发表于 2012-12-26 17:56:42
已有 1 人评分经验 热心指数 收起 理由
SpencerMeng + 60 + 1 热心帮助其他会员

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

藤椅
monstersivle 发表于 2012-12-28 10:31:16
sungmoo介绍的indexnot(s1,s2)函数:英文直翻就是return the (position) INDEX of the (1st) character in s1 that does NOT appear in s2
反馈s1字串中第一个没有在s2字串中出现的字符(在s1中)的位置,例如:
. display indexnot("xxab","ysxb") s1里第一个没出现的是a,所以反馈a在s1中的位置
3
. display indexnot("xxab","ysxt")  虽然b也没出现在s2里,但是s1里第一个没出现的是a,所以反馈a在s1中的位置
3

如果s1字串中的全部字符都出现在s2中(不管在s2中的位置和顺序,只要有就成),那么反馈0。
. display indexnot("ab","tab") 全出现了 也就是说 index not appear = FALSE 所以 回馈0
0
. display indexnot("ab", "carribean")   全出现了 ,不管在s2中的顺序
0
. display indexnot("ab","tt") 都没出现,所以反馈第一个字符的位置,1
1
如果不好理解的话,也可以用regexm(s,re) —— 这个函数help file里的例子挺多的:
s: string; re: regular expression, 如果re在s里面,或是以某种形式存在,则回馈1,否则0
. display regexm("carribean","car")
1
. display regexm("carribean","ab")
0
所以此例可以这么办,生成个st-dummy:
gen st=regexm(stockname,"ST") // ST出现在名字中任何地方都回馈1,否则0。. display regexm("adfsST","ST")
1
另外如果强调是在字串头部出现,加^号,即:
. display regexm("adfsST","^ST")
0
. display regexm("STabc","^ST")
1

或者indexnot(s1,s2):
gen st=indexnot("ST",stockname)==0 //双否即肯,
如果stockname含有ST,那么st回馈1,其它0




已有 1 人评分学术水平 热心指数 信用等级 收起 理由
一一pig + 4 + 4 + 3 精彩帖子

总评分: 学术水平 + 4  热心指数 + 4  信用等级 + 3   查看全部评分

不爱其亲而爱他人者,谓之悖德;不敬其亲而敬他人者,谓之悖礼。——《孝经》

板凳
西州织雨 发表于 2015-3-18 16:35:51
monstersivle 发表于 2012-12-28 10:31
sungmoo介绍的indexnot(s1,s2)函数:英文直翻就是return the (position) INDEX of the (1st) character in  ...
看help文件头疼的表示有例子很感谢

报纸
austen06 发表于 2015-3-19 06:14:58
如果st开头的话,sort一下,如果不,只好用一用string function了

地板
xulc432 发表于 2016-6-2 09:22:51
sort name  然后直接删除,很方便

7
溜溜的鹿 发表于 2017-7-22 20:40:21
monstersivle 发表于 2012-12-28 10:31
sungmoo介绍的indexnot(s1,s2)函数:英文直翻就是return the (position) INDEX of the (1st) character in  ...
如果公司简称的一列已经是数字文字对应表,有没有办法标记ST的公司,上面的方法都是针对字符串的

8
yingyingcoco 发表于 2021-4-15 19:17:15
学到了,感谢

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

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