楼主: bbads
702 4

[数据管理求助] stata在保留变量时,存在优先级的保留命令该怎么写? [推广有奖]

  • 7关注
  • 3粉丝

已卖:7份资源

副教授

29%

还不是VIP/贵宾

-

威望
0
论坛币
957 个
通用积分
12.3988
学术水平
10 点
热心指数
20 点
信用等级
7 点
经验
16682 点
帖子
291
精华
0
在线时间
1141 小时
注册时间
2014-4-5
最后登录
2024-12-7

楼主
bbads 发表于 2023-12-7 15:55:10 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
问题:同一个id下,在保留var2这列变量时候,原则是:当存在a时,优先保留a,删掉其余等于bcd的情况;而当没有a的时候,则会保留b,删掉等于其他的情况;当没有ab时候,会保留c。这种命令应该怎么写啊,求助大神们,谢谢啦!

二维码

扫码加我 拉你入群

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

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

关键词:Stata tata 优先级 求助大神 VaR

1.jpg (31.12 KB)

1.jpg

沙发
wdlbcj 学生认证  发表于 2023-12-7 16:39:29
gen x=1 if var2=="a"
replace x=2 if var2=="b"
replace x=3 if var2=="c"
replace x=3 if var2=="d"


bys id: gen xx=x-x[_n-1]
keep if xx==.

试试这个 瞎想的,不优雅

藤椅
bbads 发表于 2023-12-7 17:02:59
wdlbcj 发表于 2023-12-7 16:39
gen x=1 if var2=="a"
replace x=2 if var2=="b"
replace x=3 if var2=="c"
厉害厉害 谢谢啦
看到一半还启发了我  可以先按您说的赋值 再排序  剔重,您给审核下 应该也可以哈

板凳
陈小丽 发表于 2023-12-8 22:29:38
不用那么麻烦,很简单的
sort id var2
duplicates drop id var2, force

报纸
qianchen 发表于 2023-12-9 20:33:28
一行命令即可

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-2-8 09:32