【发布时间】:2016-03-28 14:05:56
【问题描述】:
我有一个包含颜色列的数据集。我在此列中有值 Black White Red。当我尝试计算表格列的频率时,我得到了黑色、白色和红色的结果。但我还需要为绿色和蓝色显示零频率。如果我在颜色列中没有这两种颜色,我该怎么办?
【问题讨论】:
-
非常感谢!问题解决了。
标签: sas
我有一个包含颜色列的数据集。我在此列中有值 Black White Red。当我尝试计算表格列的频率时,我得到了黑色、白色和红色的结果。但我还需要为绿色和蓝色显示零频率。如果我在颜色列中没有这两种颜色,我该怎么办?
【问题讨论】:
标签: sas
最简单的方法是使用PROC MEANS,如下所示:
proc format;
value colors 1 = "Black"
2 = "White"
3 = "Red"
4 = "Green"
5 = "Blue";
run;
data mytable;
input color;
format color colors.;
datalines;
1
2
1
3
;
proc means data=myTable completetypes;
class color / preloadfmt;
run;
另一种方法是使用PROC TABULATE,指定一个包含所有可能值的附加输入表(classdata 参数),如下所示:
data allColors;
input color;
format color colors.;
datalines;
1
2
3
4
5
;
proc tabulate data=mytable classdata = allColors;
class color;
table color / misstext = "0";
run;
结果:
【讨论】:
使用缺失选项:
MISSING
treats missing values as a valid nonmissing level for all TABLES variables.
Displays missing levels in frequency and crosstabulation tables and includes
them in computations of percentages and statistics.
【讨论】: