我來自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