h***i 发帖数: 3844 | 1 现在有个表,有3个变量 A B C
我要做一个freq table 是 A*B的,里面每个cell呢,需要count distinct的 C的个数。
请问有什么办法了?
多谢。 |
k*******a 发帖数: 772 | 2 用proc sql
select count (distinct C)
from...
group by A, B |
l****u 发帖数: 529 | |
k*******a 发帖数: 772 | 4 可以先 proc sort
by A B C
用 nodupkey来删掉重复的C值
然后再 proc freq
数。
【在 h***i 的大作中提到】 : 现在有个表,有3个变量 A B C : 我要做一个freq table 是 A*B的,里面每个cell呢,需要count distinct的 C的个数。 : 请问有什么办法了? : 多谢。
|
d******9 发帖数: 404 | 5 We can also create an indicator, then use Proc Tabulate to do it.
Proc sort data= X;
by A B C;
run;
data Y;
set X;
if first.C then flag=1;
else flag= . ;
run;
proc tabulate data=Y;
class A B;
var flag;
table A, B*flag*sum; (or: B*flag*N. For missing values, the N and Sum produce same results.)
run; |
a***d 发帖数: 336 | 6 proc sql noprint;
create table tmp as
select count(distinct c) as count
from table
group by a, b;
quit;
proc sort data tmp;
by a;
run;
proc transpose data=tmp;
by a;
id b;
var count;
run;
数。
【在 h***i 的大作中提到】 : 现在有个表,有3个变量 A B C : 我要做一个freq table 是 A*B的,里面每个cell呢,需要count distinct的 C的个数。 : 请问有什么办法了? : 多谢。
|