Is there an equivalent to the R function table in

2019-05-26 18:08发布

问题:

In R, the function table uses cross-classifying factors to construct a contingency table. Is there an equivalent SAS PROC that can reproduce the result of this R function?

Example:

x <- data.frame(x=rep(1:2,times=5),y=rep(1:2,each=5))

# output:  x
#   x y
#1  1 1
#2  2 1
#3  1 1
#4  2 1
#5  1 1
#6  2 2
#7  1 2
#8  2 2
#9  1 2
#10 2 2

table(x)

# output: table(x)
#   y
#x   1 2
#1   3 2
#2   2 3

回答1:

Yes, You want to use Proc Freq.

Proc freq data=mydata;
table x;  *gives table of single variable;
table x*y; *gives a crosstab;
by z; *will give multiple tables based on levels of z;
run;

3 examples. Variables Diabetes_final and Diabetes where the second one was defined be a 1 if any of the subtypes of diabetes were defined.

PROC FREQ DATA=ADS_R;
TABLE DIABETES_FINAL;
TABLE DIABETES;
TABLE DIABETES_FINAL*DIABETES;
TABLE DIABETES_FINAL*DIABETES/MISSPRINT LIST MISSING; ***SYNTAX FOR STRIPPED DOWN TABLE;
RUN;



标签: r sas