我正在尝试计算Base SAS中最近5年中几个变量的中位数,最小值和最大值。一些变量在某些年份没有疾病病例,因此为0例。在SAS中计算汇总时,我想包括这些零。
例如:我的变量之一,比如X,在过去5年中分别有8、6、2、0、0个案例。当我使用“ proc-sql”或“ proc-means”计算该变量的摘要时,SAS会忽略那些0,并给我一些与期望值有所不同的信息。我想得到Min = 0,Max = 8和Median = 2,但是SAS忽略了零,却给了我Min = 2,Max = 8和Median = 6。
有什么建议或方向会受到赞赏吗?
答案 0 :(得分:2)
如果您确实缺少数据,可以使用PROC STDIZE(假设您具有SAS / STAT)将其替换为零。
proc stdize data=have out=want replace; run;
答案 1 :(得分:0)
SAS将包括0,将不包括丢失。您的变量上可能有一种格式,当它实际丢失时,该格式显示为0。 尝试删除格式,然后查看是否是这种情况,否则,这是SAS的默认行为。
您可以使用以下方式删除格式:
format var; *note lack of format, which removes the format;
或者,如果将option missing
设置为0,则它将显示为0,但是基础值仍然丢失并且将不包括在内。您实际上需要将值更改为0。