通过基于少数条件计算平均值来计算缺失值

时间:2018-02-14 16:50:04

标签: sas

我有一个包含大量航班信息的数据集,格式如下。

carrier flight origin   dest air_time
9E  4194    EWR ATL     105
9E  4362    EWR ATL     .
9E  4362    EWR ATL     117
9E  3633    EWR ATL     113

第二条记录没有可用的air_time数据。业务要求是在这种情况下;

  1. 我应该找到航空器运输代码的平均air_time, 使用相同的出发地和目的地机场
  2. 将此平均air_time填充为第2行的air_time,其中包含缺少的数据。
  3. 我无法在SAS中对此进行编码。每次在air_time中找到缺失值时,代码都应该执行此操作。请专家帮助我。 提前谢谢!

1 个答案:

答案 0 :(得分:0)

以下解决方案对我有用。 步骤#1,对我计划找到平均值的变量进行排序。

proc sort data=cs1.flights_cln out=cs1.flights_srt;
    by carrier origin dest;
run;

步骤#2,使用标准程序。运行此代码后,数据集中的缺失值将替换为平均值。

proc standard data=cs1.flights_srt out=cs1.flights_stn replace;
    by carrier origin dest;
run;