【发布时间】:2018-04-19 17:55:14
【问题描述】:
我有以下数据集
data have;
input pop$ district$ racemajor$;
cards;
color Aberdeen .
white Aberdeen .
Black Aberdeen .
Asian Aberdeen .
Black Adelaid Yes
Color Adelaid .
white Adelaid .
Asian Adelaid .
White Bellvill .
black Bellvill .
Asian Bellvill .
;
run;
基本上我想拖动值'Yes'如果racemajor是'Yes'对应的区,这样它看起来像下面
data want;
color Aberdeen .
white Aberdeen .
Black Aberdeen .
Asian Aberdeen .
Black Adelaid Yes
Color Adelaid Yes
white Adelaid Yes
Asian Adelaid Yes
White Bellvill .
black Bellvill .
Asian Bellvill .
我知道我可以使用first. 和retain 语句来执行此操作,我尝试了以下方法。但是,它似乎不起作用。
data want;
set have;
if first.district and racemajor='Yes';
retain racemajor;
run;
【问题讨论】:
-
为什么最后一个阿德莱德没有YES?
-
我怀疑这只是一个错字,如果不是我们可以添加一个 if.last
-
对不起,我更正了错字