在数据集中,有10个变量V1,V2,...,V10。
如何选择任何这些变量的值大于或等于10的情况?
我尝试了这个,但它没有工作:
temporary.
select if any(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, ge 10).
list id.
这和其他几个人都没有工作:
select if ((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10) ge 10).
答案 0 :(得分:4)
你可以在这里使用VECTOR / LOOP方法并指定在第一个变量满足给定条件时退出的循环,在你的case变量中大于10的值,这样就不会不必要地继续循环其余的变量:
*****************************************.
* set up dummy data.
set seed = 10.
input program.
loop #i = 1 to 500.
compute case = #i.
end case.
end loop.
end file.
end input program.
dataset name sim.
execute.
vector v(10, F1.0).
do repeat v = v1 to v10.
compute v = TRUNC(RV.UNIFORM(1,12)).
end repeat.
execute.
*****************************************.
vector v=v1 to v10.
loop i=1 to 10.
if (v(i) > 10) Keep=1.
end loop if v(i) > 10.
select if Keep.
答案 1 :(得分:3)
你必须为它循环:
do repeat vr=v1 to v10.
if vr ge 10 KeepMe=1.
end repeat.
select if KeepMe=1.
答案 2 :(得分:1)
这也有效:
count cnt_ = v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 (10 thru highest).
exe.
select if cnt_>0.
exe.
cnt_
变量用于计算有多少变量的值为10或更大。然后选择命令选择您需要的内容。
此外,不要忘记execute
,以应用所有待处理的转换。否则什么都不会发生。