[英]weighted crosstable in SAS
假設我有下表:
id | var1 | var2 | count
1 | a | b | 3
2 | b | a | 4
3 | c | e | 1
現在,我想計算一個交叉表:
PROC TABULATE;
CLASS var1 var2;
TABLE var1, var2;
RUN;
但是,我的問題是,讓4的count
變量表示該特定情況實際上應該在表中出現4次。 因此,上表應為:
id | var1 | var2 | count
1 | a | b | 3
1 | a | b | 3
1 | a | b | 3
2 | b | a | 4
2 | b | a | 4
2 | b | a | 4
2 | b | a | 4
3 | c | e | 1
是否可以直接在PROC TABULAR
案例數,或者如何根據count
的值添加其他案例?
使用FREQ語句
data test;
infile cards dsd dlm='|' firstobs=2;
input id (var1-var2)(:$1.) count;
list;
cards;
id | var1 | var2 | count
1 | a | b | 3
2 | b | a | 4
3 | c | e | 1
;;;;
proc print;
run;
PROC TABULATE;
FREQ count;
CLASS var1 var2;
TABLE var1, var2;
RUN;
為什么不使用普通的datastep復制行? 比做任何您想做的事。
data want;
set have;
do _i = 1 to count;
output;
run;
drop _i;
run;
proc print;run;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.