全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
8597 6
2021-12-26
悬赏 10 个论坛币 已解决
数据如下:user变量存在重复,想要删除重复数据。删除规则是:1、假如存在clandholder3 =  city = wanted,则保留clandholder3 =  city = wanted那一行,比如数据中第五行和第六行的uesr重复,且第六行的clandholder3 =  city = wanted,则保留第六行删除第五行;2、假如不存在clandholder3 =  city = wanted,则简单删除user行重复即可。
复制代码

最佳答案

qianchen 查看完整内容

我猜测大概这样 gen d = (clandholder3==city)*(city==wanted) duplicates drop user year if d==1, force duplicates drop user year if d==0, force bys user:gen tag=_N drop if d==0& tag==2
二维码

扫码加我 拉你入群

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

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

全部回复
2021-12-26 17:14:58
我猜测大概这样
gen d = (clandholder3==city)*(city==wanted)
duplicates drop user year if d==1, force
duplicates drop user year if d==0, force
bys user:gen tag=_N
drop if d==0& tag==2
二维码

扫码加我 拉你入群

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

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

2021-12-26 18:02:01
不知有没误解你的问题,请试试
复制代码
二维码

扫码加我 拉你入群

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

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

2021-12-26 18:27:28
黃河泉 发表于 2021-12-26 18:02
不知有没误解你的问题,请试试
黄老师您好,您提供的代码能解决我的假设1,但是我的数据可能还存在假设2:即n(n大于等于2)个user1重复,且不存在clandholder3 = city = wanted,那么您的代码前两行就会将我所有的user1都删除,我就会缺失user1的数据。希望您能再给点建议!
二维码

扫码加我 拉你入群

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

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

2021-12-26 20:30:46
qianchen 发表于 2021-12-26 19:51
我猜测大概这样
gen d = (clandholder3==city)*(city==wanted)
duplicates drop user year if d==1, for ...
是的,您的命令是符合我的要求的,谢谢!
二维码

扫码加我 拉你入群

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

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

2021-12-26 20:30:50
qianchen 发表于 2021-12-26 19:51
我猜测大概这样
gen d = (clandholder3==city)*(city==wanted)
duplicates drop user year if d==1, for ...
是的,您的命令是符合我的要求的,谢谢!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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