私はPython/R/StataのバックグラウンドからSASに来ています。私はこれらの言語の1つの観点から、次の問題に近づいています。おそらくSASは私がやりたいことには達していません。forループを使用してSASのデータセットに列を追加する
パネルデータセットにage
という列があります。このage
列を使用して、データセットに新しい列を追加します。私はage
の機能を単純化し、私の例では単純にしておきます。
目的は、シーケンスをループし、各ループステップでそのシーケンスの値を使用して1.新しい列の名前を割り当て、2.その列の値を割り当てます。新しい列は、それが値spline1
spline2
を取るに追加して、以前のバージョンでは、私はそれを得ることができたけれども、私は、
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;
spline7
は、このコードも実行されません...、私の出発データセットを得ることを望みました新しい列の値は1行下にシフトしていなければなりませんでした。私はこのコードブロックを、私がやろうとしていることの擬似コードとして含めます。どんな助けもありがとうございます
ループオーバーする予定はありますか?列数(7)は固定か動的か私は配列が必要だと思う。 – Reeza
あなたがしたいことを理解できるように、入力データと出力データの例を投稿する必要があります。最初の明らかな問題は、データを読み取る前にデータを操作しようとしていることです。 SETステートメントを他のステートメントの上に移動すると、コードを操作するためのAGEの値がいくつかあります。 – Tom