3
我學習的SAS數據合併,並找到下面的例子關於「數據合併」在SAS
data newdata;
merge yourdata (in=a) otherdata (in=b);
by permno date;
我不知道該怎麼辦「(在=一)」和「(在= B) 「 意思?謝謝。
我學習的SAS數據合併,並找到下面的例子關於「數據合併」在SAS
data newdata;
merge yourdata (in=a) otherdata (in=b);
by permno date;
我不知道該怎麼辦「(在=一)」和「(在= B) 「 意思?謝謝。
yourdata(in=a)
在程序數據向量中創建一個名爲'a'的標誌變量,如果記錄來自yourdata則包含1;如果不是,則包含0。然後您可以使用這些變量根據記錄的來源執行條件操作。
如果你看到
data newdata;
merge yourdata(in=ThisRecordIsFromYourData) otherdata(in=ThisRecordIsFromOtherData);
by permno date;
run;
假設需要從yourdata記錄在此步驟進行操作可能更容易理解,而不是那些從otherdata,然後你可以做這樣的事情
data newdata;
merge yourdata(in=ThisRecordIsFromYourData) otherdata(in=ThisRecordIsFromOtherData);
by permno date;
if ThisRecordIsFromYourData then do;
* some operation here for yourdata records only ;
end;
run;
這些變量的一個明顯用途是使用if
語句控制將發生什麼樣的「合併」。例如,if ThisRecordIsFromYourData and ThisRecordIsFromOtherData;
將使SAS只包含匹配來自兩個輸入數據集的變量(如內連接)的行。
還應該注意的是,這些標誌變量不會保存在正在創建的數據集中。如果你想保留它們,我通常會創建像這樣的附加變量:a1 = a; b1 = b;然後在輸出數據集中引用a1和b1。 – 2011-01-21 15:30:12