【问题标题】:how to use retain statement in SAS to populate missing data?如何在 SAS 中使用保留语句来填充缺失的数据?
【发布时间】:2016-04-20 16:25:53
【问题描述】:

我有一个数据集,其中包含给定人员的多行数据,但只有该人信息的第一行包含他们的姓名。该人数据的其余行缺少名称字段。我想我可以使用retain 语句来填充名称,但我没有尝试过。

这是我正在使用的数据集结构的示例:

    data test;
    input id $ value ;
    datalines;
    Bob 100
    .   200
    .   300
    Jim 475
    .   250
    .   300
    ;
    run;

【问题讨论】:

    标签: sas retain


    【解决方案1】:

    我认为问题在于技术上id 并没有在这些行中丢失,它等于.,即使在使用input 语句读取数据行时你得到空id。 试试这个:

    data test;
      input id $ value;
    
      /*store not empty ID in different retained variable*/
      retain current_id;
      if not missing(id) then current_id=id;
      else id=current_id;
    
    datalines;
    Bob 100
    .   200
    .   300
    Jim 475
    .   250
    .   300
    ;
    run;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-17
      相关资源
      最近更新 更多