[問題] SAS資料轉換
data d1;
input x y z;
cards;
1 6 8
2 4 11
3 8 12
6 10 15
11 12 15
1 11 15
;
proc print;
run;
上面的資料x y z 變數值都在1~15之間
我想要轉換 x y z 的值 到 a b c
當x y z 的值在1~5之間 則 a b c 的值為1 在6~10之間 值為2 在11~15之間 值為3
我自己是這樣寫的
data d2;
set d1;
array b{3} x y z;
array s{3} a b c;
do i=1 to 3;
j=b{i};
if j<=5 then s{j}=1
else if 6<=j<=10 then s{j}=2
else s{j}=3;
end;
但是都不成功,請問一下應該要怎麼寫才能轉換呢
我想可能是j的範圍不能這樣設定吧,但我不知道該怎麼設定
還是我的函數也寫錯了?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.13.225.213
→
06/08 12:31, , 1F
06/08 12:31, 1F
推
06/08 12:32, , 2F
06/08 12:32, 2F
推
06/08 23:28, , 3F
06/08 23:28, 3F