如何在SAS中使用保留语句来填充缺失数据?
how to use retain statement in SAS to populate missing data?
我有一个数据集,其中包含给定人员的多行数据,但只有该人员信息的第一行包含他们的姓名。该人数据的其余行缺少名称字段。我想我可以使用保留语句来填充名称,但我尝试的任何方法都不起作用。
这是我正在使用的数据集结构的示例:
data test;
input id $ value ;
datalines;
Bob 100
. 200
. 300
Jim 475
. 250
. 300
;
run;
我认为问题是技术上 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;
我有一个数据集,其中包含给定人员的多行数据,但只有该人员信息的第一行包含他们的姓名。该人数据的其余行缺少名称字段。我想我可以使用保留语句来填充名称,但我尝试的任何方法都不起作用。
这是我正在使用的数据集结构的示例:
data test;
input id $ value ;
datalines;
Bob 100
. 200
. 300
Jim 475
. 250
. 300
;
run;
我认为问题是技术上 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;