我有以下格式的數據集: 一個M行和2K列的表。 我的列是變量對:X_i,Y_i和行是觀察值。SAS中的單個數據集上的幾個迴歸問題
我想進行很多的線性迴歸:每對一列(Y_i〜X_i) ,並獲得結果。
我知道如何使用數組訪問特定列,就像這樣:
data Xs_Ys_data (drop=i);
array Xs[60] X1-X60;
array Ys[60] Y1-Y60;
我也知道如何適應一個單一的線性迴歸模型,就像這樣:
proc reg data=some_data;
model y = x;
output out=out_lin_reg;
run;
而且我很熟悉與循環的概念:
do i=1 to 60;
Xs[i] .......;
end;
如何結合這三個來得到我所需要的?
謝謝!
PS - 我問過類似的問題,在不同的格式在這裏:
SAS reading a file in long format
更新:
我已成功地創建使用宏像這樣的迴歸:
%macro mylogit();
%do i = 1 %to 60;
proc reg data=Xs_Ys_data;
model Y&i = X&i;
run;
%end;
%mend;
%mylogit()
現在我不知道如何導出結果LTS到一個表...
答案是,你沒有。以長格式執行迴歸。另一種選擇是將變量拉入宏字符串中,但在任何情況下,這很難做到,並且在計算機資源上更難。 – Joe
嗨喬,它似乎與宏一起工作。做完這些之後,有沒有簡單的方法將參數估計值保存在單個表中?謝謝! –
再次,正確地做。該宏將運行60個迴歸,這將花費很長時間並創建60個表格,然後您必須將它們附加在一起。以長格式構建它(你表明你已經有了這個)並使用BY語句。 – Joe