楼主: 无他
3878 13

[数据管理求助] 有两个变量,如何将变量1中与变量2中重复的值删除,留下不重复的 [推广有奖]

  • 5关注
  • 10粉丝

教授

62%

还不是VIP/贵宾

-

威望
0
论坛币
32958 个
通用积分
50.5472
学术水平
25 点
热心指数
46 点
信用等级
18 点
经验
23320 点
帖子
1198
精华
0
在线时间
1651 小时
注册时间
2012-2-27
最后登录
2024-3-19

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
有两个变量,如何将变量1中与变量2中重复的值删除,留下不重复的
比如两个变量id1和id2:(id2是自然数序列)
id1 id2
1    1
3    2
5    3
8    4

则删除di1中的第1、2个观测记录(id1中的值1和3与id2中有重复)

二维码

扫码加我 拉你入群

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

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

关键词:自然数 如何

大方无隅
沙发
xyz15110139 发表于 2013-7-11 10:45:45 |只看作者 |坛友微信交流群
你的意思是 id1 如果与id2 相同 就删掉么?如果是这个意思的话 keep if  id1~= id2

使用道具

藤椅
无他 发表于 2013-7-12 13:59:52 |只看作者 |坛友微信交流群
xyz15110139 发表于 2013-7-11 10:45
你的意思是 id1 如果与id2 相同 就删掉么?如果是这个意思的话 keep if  id1~= id2
不是,是id1中所有的值如果与id2中所有的值有相同的话就drop
大方无隅

使用道具

板凳
蓝色 发表于 2013-7-12 14:13:23 |只看作者 |坛友微信交流群
你举的例子也不是你说的情况
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
h3327156 + 1 + 1 + 1 分析的有道理

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

报纸
无他 发表于 2013-7-12 14:18:46 |只看作者 |坛友微信交流群
蓝色 发表于 2013-7-12 14:13
你举的例子也不是你说的情况
嗯,是我没表达清楚。刚修改了一下
大方无隅

使用道具

地板
bbwade 发表于 2013-7-12 17:26:11 |只看作者 |坛友微信交流群
preserve
keep id1
ren id1 id
g var1=_n
save a
restore
keep id2
ren id2 id
g var2=_n
save b
clear
use a
merge 1:1 id using b
keep if _merge==1
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
h3327156 + 1 + 1 + 1 热心帮助其他会员~可是测试过还是有问题

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

7
h3327156 发表于 2013-7-12 17:41:56 |只看作者 |坛友微信交流群
*仅适用楼主例子,演练参考,解法一
inp id1 id2
1 1
3 2
5 3
8 4
end
g x=0
loc num = _N
forv i=1/`num'{
  g x`i' = (id2[`i'] == id1)
  replace x=(x`i' != x)   
  drop x`i'
}
drop if x==1

*仅适用楼主例子,演练参考,解法二,运用merge【概念与 bbwade  同】
inp id1 id2
1 1
3 2
5 3
8 4
end
preserve
g id=id1
sa "F:\id1.dta"
restore
g id=id2
drop id1
sa "F:\id2.dta"
use "F:\id1.dta"
merge 1:1 id using "F:\id2.dta"
keep if _merge==1

使用道具

8
h3327156 发表于 2013-7-12 17:49:56 |只看作者 |坛友微信交流群
bbwade 发表于 2013-7-12 17:26
preserve
keep id1
ren id1 id
推荐,您是对的,我又有点错误理解楼主的意思了!

使用道具

9
ctx5518 发表于 2013-7-13 13:40:33 |只看作者 |坛友微信交流群
levelsof id2, local(temp)

foreach x of local temp {
drop if id1 == `x'
}

使用道具

10
无他 发表于 2013-7-17 09:09:15 |只看作者 |坛友微信交流群
ctx5518 发表于 2013-7-13 13:40
levelsof id2, local(temp)

foreach x of local temp {
谢谢!
大方无隅

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-4 14:18