【发布时间】:2017-12-01 03:46:20
【问题描述】:
我遇到了一个相当奇怪的情况,我将两个数据集连接起来,得到了非常出乎意料的结果。这是设置:
data a;
do i=1 to 100;
output;
end;
run;
data b;
do j=5 to 79;
output;
end;
run;
data c;
set a b;
if j=. then j=i;
run;
有人可以向我解释为什么 j 在前 100 个观察值中取值为“1”吗?看起来 j 被保留了,但更奇怪的是,如果我将条件更改为:
data c;
set a b;
if i=. then i=j;
run;
那么“retain”语句”意味着在第 100 次观察之后,您应该看到 100 被保留下来,但事实并非如此!它是 5!这是怎么回事?
谢谢,
【问题讨论】:
标签: io sas set concatenation