全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
6083 8
2016-01-27
有一组数据,其中一个变量是国家代码,是字符串变量,包括欧洲多个国家,如AUT,BEL,DEU,FRA等等,请问如何编写代码来筛选呢?
假设我需要的保留的是AUT,BEL和DEU的观察值,其余的去除掉。
论坛里有用到strpos(s1,s2)和indexnot(s1,s2),但是这都是只有一个s1的搜索字眼。
多谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2016-1-27 08:46:42
help strmatch
二维码

扫码加我 拉你入群

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

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

2016-1-28 18:29:41
hustchen2012 发表于 2016-1-27 08:46
help strmatch
我查了下,这个也是只能单个查找是否匹配
    strmatch(s1,s2)
       Description:  1 if s1 matches the pattern s2; otherwise, 0
二维码

扫码加我 拉你入群

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

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

2016-1-29 03:51:18
hustchen2012 发表于 2016-1-27 08:46
help strmatch
我写了一个代码,但是很繁琐》
keep if cinc == "AUT"///
                |cinc == "BEL"///
                |cinc == "DEU"///
                |cinc == "DNK"///
                |cinc == "ESP"///
                |cinc == "FIN"///
                |cinc == "FRA"///
                |cinc == "GBR"///
                |cinc == "GRC"///
                |cinc == "IRL"///
                |cinc == "ITA"///
                |cinc == "LUX"///
                |cinc == "NLD"///
                |cinc == "PRT"///
                |cinc == "SWE"                                        //select 15 european countries
不知是否可以用一个相对简单的命令来代替呢?
二维码

扫码加我 拉你入群

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

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

2016-1-29 10:43:41
sushuiasushui 发表于 2016-1-29 03:51
我写了一个代码,但是很繁琐》
keep if cinc == "AUT"///
                |cinc == "BEL"///
如果不喜欢strmatch()可以用regular expression解决。help regexm()
其实命令长一点也没关系吧。这些国家的名字你反正都得打一遍不是么。当然,如果,比如说,这个命令执行很慢,想要优化,那另当别论。
二维码

扫码加我 拉你入群

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

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

2018-9-29 06:57:38
超级有用!
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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