【问题标题】:SAS, Min/Max using proc means?SAS,Min / Max使用proc是什么意思?
【发布时间】: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


【解决方案1】:

在 proc 上使用 STACKODS 选项意味着得到你想要的表。

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

PROC PRINT data=want;
RUN;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-23
    • 1970-01-01
    • 2018-05-25
    • 1970-01-01
    相关资源
    最近更新 更多