全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
11548 2
2010-02-03
例如有3个变量,x1、x2、x3,要将只要x1、x2、x3中只要是其中最小或者最大的值,则整组数据删除。
我自己写的不对,
drop if x1==max(x1)|x2==max(x2)
不知错在哪
谢谢大家!
二维码

扫码加我 拉你入群

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

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

全部回复
2010-2-3 15:12:21
*设x1、x2、x3无缺失值
foreach v of var x1 x2 x3{
egen min`v'=min(`v')
egen max`v'=max(`v')
}
drop if x1==minx1|x1==maxx1|x2==minx2|x2==maxx2|x3==minx3|x3==maxx3
drop min* max*

*或
foreach v of var x1 x2 x3{
sort `v'
g m`v'=(`v'==`v'[1]|`v'==`v'[_N])
}
keep if mx1+mx2+mx3==0
drop mx1 mx2 mx3
二维码

扫码加我 拉你入群

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

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

2010-2-3 15:57:41
foreach v of var x1 x2 x3 {
sum `v'
gen `v'_1=(`v'==r(max) | `v'==r(min))
}
egen id=rowtotal(x1_1 x2_1 x3_1)
drop if id!=0
drop x?_? id
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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