作者chris1 (小刀)
看板Statistics
標題[問題] SAS資料轉換
時間Mon Jun 8 12:14:25 2009
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
→ tew:簡單的用if then 的條件句來設就好 06/08 12:31
推 tew:if x<=5 then a=1;else if 5<x<=10 then a=2;else a=3; 06/08 12:32
推 bugle:這樣寫真累, a = ceil(x/5) 不就得了 = =" 06/08 23:28