【发布时间】:2025-12-28 06:55:16
【问题描述】:
考虑以下示例:
/* Create two not too interesting datasets: */
Data ones (keep = A);
Do i = 1 to 3;
A = 1;
output;
End;
run;
Data numbers;
Do B = 1 to 5;
output;
End;
Run;
/* The interesting step: */
Data together;
Set ones numbers;
if B = 2 then A = 2;
run;
因此,数据集包含一个变量 A,有 3 个观察值,全为 1,数据集编号包含一个变量 (B),有 5 个观察值:数字 1 到 5。 我希望生成的数据集一起有两列(A 和 B),并且 A 列(垂直)读取 1、1、1、.. , 2, . , . , .
但是,在执行代码时,我发现 A 列显示为 1, 1, 1, 。 , 2, 2, 2 , 2
显然,在第五次观察中创建的 2 一直保留下来,没有明显的原因。这是怎么回事?
(为了完整起见:当我将最后一个数据步骤分成两部分时:
Data together;
set ones numbers;
run;
Data together;
set together;
if B = 2 then A = 2;
run;
它确实符合我的预期。)
【问题讨论】:
标签: sas