我的代码是这样的:
forvalues t = 1/100 {
keep if Country == Country[`t'] & Country_Twin_n == Country_Twin_n[`t']
drop if Benchmark == Benchmark[`t'] & Pair_n != Pair_n[`t']
………………
}
然而当执行了第一个keep命令的时候,因为有observations被删减了,所以该循环关注的那个observation的行数很可能就不再是`t'了,这样就难以达到我想要的目的
请问大神们,有没有可能让这个keep和drop同时进行呢?
还有,我也可以不用行数来定位。在我的原始dataset里面,有一个变量是Number,就是和行数相对应的,第n行的Number的取值就是n。也就是说假如先drop掉了一些observations的话,Number会大于当前的行数,假如该观测值之前有被drop掉的。
drop和keep可不可以有更复杂点的条件呢?比如 drop if 某个variable的取值大于(或等于,或小于)Number取值为k的那条记录的对应的variable取值?
举个例子,比如有两个variable:Number和Price。可不可以keep或drop价格高于4号观测值的所有观测值?
希望我把问题表述清楚了,提前感谢!


雷达卡




京公网安备 11010802022788号







