全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2555 6
2014-09-04
一个字符变量(中间有空格):two_parterners
china france
china china
china russia
china america
china italy
china china

如何把这个变量把第2、6个数据去掉,仅仅保留其它?也就是说双方都是china的去掉,stata命令是什么?

谢谢啊!

二维码

扫码加我 拉你入群

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

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

全部回复
2014-9-4 23:21:48
用函数将该变量生成两个变量,然后进行duplicates drop 就行了,然后再删去仅一个的那个china和china记录。
二维码

扫码加我 拉你入群

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

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

2014-9-4 23:23:29
Larwence 发表于 2014-9-4 23:21
用函数将该变量生成两个变量,然后进行duplicates drop 就行了,然后再删去仅一个的那个china和china记录。
这样好像不行,会把其他重复的也删掉了,再想想吧
二维码

扫码加我 拉你入群

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

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

2014-9-4 23:34:35
假设所需处理的变量名字为v1
egen v2=ends(v1),punct(" ")(last)  //双引号之间为空格
注:无last为前,有last为后
运行这条命令后会生成一个变量v2,此变量的值只有空格后面的字符
然后drop if v2=="china"
你试试
二维码

扫码加我 拉你入群

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

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

2014-9-5 03:40:10
如果数据格式就像你所说的,根本没必要进行什么特别的字符串操作,直接drop就可以了
drop if two_parterners=="china china"
如果你的问题变复杂一点,变成drop掉two parterners来自相同国家的,可以用下面的代码
split two_parterners, parse("")
drop if two_parterners1==two_parterners2
二维码

扫码加我 拉你入群

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

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

2014-9-5 10:40:04
xingxf 发表于 2014-9-5 03:40
如果数据格式就像你所说的,根本没必要进行什么特别的字符串操作,直接drop就可以了
drop if two_parterne ...
我的变量中:有很多这样的数据:
china china
china china china
china china china russia
china china china china china italy
china china america
china china

怪我以前没有交代明白。再次说明。谢谢啊!
本文来自: 人大经济论坛 Stata专版 版,详细出处参考: https://bbs.pinggu.org/forum.php? ... 1&from^^uid=67673
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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