楼主: 楚止蔡
23251 13

[数据管理求助] 按条件删除重复值求助duplicates [推广有奖]

11
蓝色 发表于 2014-9-16 10:11:18
本来很简单的问题,你表述不清楚,导致搞的很复杂。

不就是要删除,  如果同一个id中只要包含year=2000的数据,那就把这同一个id的所有的样本都剔除


* 方法1
clear
input id1 id year
   1         1         2000
   2         1         2002
   3         1         2003
   4         2         2003
   5         2         2004
   6         3         2000
   7         3         2001
   8         4         2003
end

generate        id2=(year==2000)   
bysort id: egen num=sum(id2)
keep if num==0
list





*方法2
clear
input id1 id year
   1         1         2000
   2         1         2002
   3         1         2003
   4         2         2003
   5         2         2004
   6         3         2000
   7         3         2001
   8         4         2003
end

bysort id: egen id3=sum(id*(year==2000))
keep if id3==0
list
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
楚止蔡 + 1 观点有启发
crystal8832 + 24 + 2 + 2 + 2 好的意见建议

总评分: 论坛币 + 25  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

12
crystal8832 学生认证  发表于 2014-9-16 10:36:42
蓝色 发表于 2014-9-16 10:11
本来很简单的问题,你表述不清楚,导致搞的很复杂。

不就是要删除,  如果同一个id中只要包含year=2000的 ...
方法简单了好多,呵呵。

13
楚止蔡 发表于 2014-9-16 10:52:27
蓝色 发表于 2014-9-16 10:11
本来很简单的问题,你表述不清楚,导致搞的很复杂。

不就是要删除,  如果同一个id中只要包含year=2000的 ...
谢谢,确实是问题没表述清楚,以后要引以为戒,要寻求最简单有效的方法来做。。。对了那个评分我是第一次评,所以不会用,我以为是按比例来,没想给你那么低,sorry...总之很感谢你!

14
abcabc123 发表于 2015-5-23 16:35:37
很好的帖子

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

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