全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
4190 5
2015-11-13
悬赏 10 个论坛币 已解决
定义一个虚拟变量,我是这么写的:
gen rep = 0
replace rep = 1 if (analystname=="*徐妍*")

但是执行后,analystname为“徐妍”或包含“徐妍”(如“徐妍,廖绪发”)的rep值都没有变化。
请问是哪里出了问题?
想将ananlystname中包含某些姓名的样本的rep值更改为1,其余为0,应该如何写命令?

PS:
replace rep = 1 if (analystname=="徐妍")

可以处理analystname为“徐妍”的样本,但是ananlystname中包含徐妍及其他字符则不行。


在线等!挺急的!

最佳答案

少才 查看完整内容

replace rep = 1 if strmatch(rep,"*徐妍*")
二维码

扫码加我 拉你入群

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

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

全部回复
2015-11-13 13:28:45

replace rep = 1 if strmatch(rep,"*徐妍*")
二维码

扫码加我 拉你入群

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

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

2015-11-13 21:48:29
你的命令应该是可行的,检查一下实际值中是否包含有空格,例如"*徐妍 *",这个不太容易发现。
二维码

扫码加我 拉你入群

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

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

2015-11-13 23:02:15
wisdommingli 发表于 2015-11-13 21:48
你的命令应该是可行的,检查一下实际值中是否包含有空格,例如"*徐妍 *",这个不太容易发现。
这个是没有的,因为要筛选的姓名很多,一开始我就把空格都直接替换成命令了。。。
二维码

扫码加我 拉你入群

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

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

2015-11-14 09:01:33
gene rep = 0
replace rep = 1 if (analystname=="*徐妍*")
我试过了,可行。
附件列表
11.jpg

原图尺寸 6.77 KB

11.jpg

二维码

扫码加我 拉你入群

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

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

2015-11-14 10:25:28
可用:
replace rep = 1 if strpos(analystname, "徐妍") > 0
或者:
replace rep = 1 if strmatch(analystname, "*徐妍*") == 1
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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