【发布时间】:2016-06-07 14:09:08
【问题描述】:
我有类似的日期,
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;
【问题讨论】:
-
我不知道你的问题是什么。
-
您的输出数据集应该采用不同的名称,否则您会覆盖初始数据。输出=摘要最小值=。并通过 var 语句指定 proc 中的变量。
-
注明。试图找到雨量/温度列的最小值、最大值。
-
当你运行代码时你的日志说了什么?
-
它说有一些无效的行(其中有缺失值,所以我认为没关系),但它仍然计算一些东西。它给了我一个包含最小值、中值、最大值的表格,其中包含不正确的数字,例如数据集中不存在的 -167061,2200,7800。这些数字看起来像是一个累积的总和。
标签: sas max min summary data-manipulation