→ liton:硬幹是最後的Solution啦 還在找其他方法中 08/11 01:16
※ 引述《liton (歐吉桑留學生)》之銘言:
: 想請教一下以下資料的Cross Table怎麼做
: 原始資料共有三個欄位
: 類別($) 原始值(8.) 調整後值(8.)
: 其中原始值介於0~1 調整值為原始值調整後的值
: 類別假設只有A B兩項
: 想產出下面的報表
: 分類 值 原始值合計 調整後值合計
: A 0~0.5
: 0.5~1
: B 0~0.5
: 0.5~1
如果先自己做初步的處理呢?
假設你的資料表為aa value是原始值 class是分類
你希望的報表前三行
data a1;
set aa;
if 0<value<0.5;
a=1;
data a2;
set aa;
if 0.5<=value;
a=1;
run;
PROC UNIVARIATE data=a1;
by class;
var a;
output out=z1 sum=before;
run;
data z1;
set z1;
value="0 ~ 0.5";
run;
PROC UNIVARIATE data=a2;
by class;
var a;
output out=z2 sum=before;
run;
data z2;
set z2;
value="0.5 ~ 1";
run;
data new;
set z1 z2;
run;
proc sort data=new;
by class;
run;
而調整後值也可以照這樣處理之後在合併
再用 proc print 輸出報表
有點落落長,不知道有沒有更直接的做法
不過應該可以達到你的要求
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.119.145.80
※ 編輯: MmmRrrrX 來自: 140.119.145.80 (08/10 23:50)