我来自Python/R/Stata背景下的SAS,并了解到SAS中的情况有所不同。从其中一种语言的角度来看,我正在接近以下问题,也许SAS不能达到我想要的。使用for循环将列添加到SAS中的数据集
我有一个面板数据集,其中有一个age
列。我想使用这个age
列将新列添加到数据集。我将简化age
的功能,以便在我的示例中保持简单。
目标是循环一个序列,并在每个循环步骤中使用该序列的值来指定新列的名称并分配该列的值。我希望能得到我的出发数据集,用新的列添加到它取值spline1
spline2
... spline7
data somePath.FinalDataset;
do i = 1 to 7;
if i = 1 then
spline&i. = age;
if i ^= 1 then spline&i. = age + i;
end;
set somePath.StartingDataset;
run;
此代码将不能运行,但在早期版本中我能得到它运行,但是新的列已经将它们的值从它们本来应该的位置向下移动了一行。我将这个代码块包含为我想要做的事情的伪代码。任何帮助非常感谢
你打算循环什么?列(7)的数量是固定的还是动态的?我认为你需要一个数组。 – Reeza
您需要发布示例输入和输出数据,以便我们能够理解您想要执行的操作。第一个明显的问题是,您在阅读数据之前试图操纵数据。将SET语句移到其他语句的上方,以便AGE有一些代码供您操作。 – Tom