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

Sas 通过基于少数条件计算平均值来计算缺失值,sas,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 第二条记录没有可用的空气时间数据。业务要求是,在这种情况下 我应该找到飞机航母代码的平均飞行时间, 使用相同的出发机场和目的地机场 将此平均空气#u时间填充为

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

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
第二条记录没有可用的空气时间数据。业务要求是,在这种情况下

  • 我应该找到飞机航母代码的平均飞行时间, 使用相同的出发机场和目的地机场
  • 将此平均空气#u时间填充为第2行的空气#u时间,该行缺少数据
  • 我无法在SAS中编写此代码。每次在air\U time中发现缺少的值时,代码都应该这样做。请专家帮助我。
    提前谢谢

    下面的解决方案对我非常有效。 步骤#1,对变量进行排序,我计划使用这些变量查找平均值

    proc sort data=cs1.flights_cln out=cs1.flights_srt;
        by carrier origin dest;
    run;
    
    proc standard data=cs1.flights_srt out=cs1.flights_stn replace;
        by carrier origin dest;
    run;
    
    第2步,使用标准程序。在我运行这段代码之后,数据集中缺少的值被替换为平均值

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

    这一术语是缺失数据插补,具体而言,是平均值插补。这是一项非常常见的任务,在互联网上进行简短的搜索就可以很好地解决这一问题。请这样做,然后努力解决这个问题;如果你对这种方法有疑问,回来问他们。另外,请看一看。本网站并非针对“请为我编写代码来完成此任务”的问题:如果你的问题包括“这是我的业务需求”,这不是一个问题,这是一个无偿的咨询工作。我们在这里很乐意帮助您了解事情如何运作以及如何解决问题,但我们不是来为您做工作的。这是一种普遍的做法。感谢您的投入,也很抱歉给大家带来麻烦。抱歉!