SAS,最小/最大使用proc方法?

SAS,最小/最大使用proc方法?,sas,max,min,summary,data-manipulation,Sas,Max,Min,Summary,Data Manipulation,我有类似这样的约会 Date Rainfall Highest_Tmp_Reached Lowest_Tmp_Reached 1/5/93 5 10 3 1/6/93 12 K K 1/2/95 K 3

我有类似这样的约会

Date          Rainfall     Highest_Tmp_Reached   Lowest_Tmp_Reached

1/5/93           5                10                    3
1/6/93           12                K                    K
1/2/95           K                 3                    4
..continued      ..                ..                   ..
K表示缺少的值。我需要在我的整个数据集中找到最小降雨量、达到的tmp和达到的最低tmp,最好是作为一个总结(因此我试图使用proc方法)。我还将数据转换为数字,以确保它能够运行(如果这是正确的转换方式)

我在PROC的尝试意味着:

DATA WORK.tempdata;
INFILE 'T:Data\tempdates.csv' 
DELIMITER = ',' MISSOVER DSD LRECL=32767 FIRSTOBS=2 ;
   INFORMAT date mmddyy10. ;
   INFORMAT rainfall $3.  ;
   INFORMAT highest_temp_reached $3.  ;
   INFORMAT lowest_temp_reached $4.  ;
   INPUT    date
            highest_temp_reached NUM
            lowest_temp_reached NUM
            rainfall NUM ;
RUN;
proc means data=WORK.tempdata min median max;
output out=WORK.tempdata min=min median=median max=max;
run;
PROC PRINT;
FORMAT DATE MMDDYY10.;
RUN;

使用proc means上的STACKODS选项获取所需的表

proc means data=WORK.tempdata min median max STACKODS;
Ods output summary=work.want;
run;

PROC PRINT data=want;
RUN;

使用proc means上的STACKODS选项获取所需的表

proc means data=WORK.tempdata min median max STACKODS;
Ods output summary=work.want;
run;

PROC PRINT data=want;
RUN;

我不知道你的问题是什么。你的out数据集应该使用不同的名称,否则你会重写初始数据。Out=汇总最小值=。并通过var语句指定proc means中的变量。试图找到降雨/温度列的最小值和最大值。运行代码时,日志会说什么?它说有一些无效的行(其中缺少值,所以我认为可以),但它仍然计算一些内容。它给了我一个包含最小值、中值、最大值的表,其中包含数据集中不存在的错误数字,如-1670612200、7800。这些数字看起来像是一个累加的总和。我不知道你的问题是什么。你的out数据集应该使用不同的名称,否则你会重写你的初始数据。Out=汇总最小值=。并通过var语句指定proc means中的变量。试图找到降雨/温度列的最小值和最大值。运行代码时,日志会说什么?它说有一些无效的行(其中缺少值,所以我认为可以),但它仍然计算一些内容。它给了我一个包含最小值、中值、最大值的表,其中包含数据集中不存在的错误数字,如-1670612200、7800。这些数字看起来像是一个累积的总和。