以下是一個示例數據集。下面的方案代表了一個賬戶交易歷史清單:根據不同的羣組,用前一個或下一個觀察值替換缺失值
- 兩個客戶A和B;
- 客戶A在Bank BA和Bank UB擁有5個賬戶1,2,3,4,5;
- 客戶B在Bank WF擁有2個賬戶1,6,
請注意,WF銀行已向B發出了一個與A銀行相同的賬戶ID(實際上這可能是真實的)。
data have; input Customer $ Account_id Bank_id $ Year; datalines; A 1 BA . A 2 UB . A 3 UB 2012 A 3 UB . A 4 UB . A 4 UB 2013 A 5 UB . B 1 WF 2014 B 1 WF . B 6 WF . ;
一些開放日期缺少的帳戶,但相同的帳戶,打開日期應該是相同的。我想要做的是用其先前/後來的值替換帳戶的缺失日期,如果有的話;否則,保持它爲空。
data want;
input Customer $ Account_id Bank_id $ Year;
datalines;
A 1 BA .
A 2 UB .
A 3 UB 2012
A 3 UB 2012
A 4 UB 2013
A 4 UB 2013
A 5 UB .
B 1 WF 2014
B 1 WF 2014
B 6 WF .
;
我看了看這個例子:How to write first non-missing value to first missing observations這是有益的,但我無法調整它爲我的情況下,有多個團體合作。
嗨克里斯,這兩個代碼塊都沒有通過,因爲這裏有一些錯誤。 –
不用擔心克里斯。這個proc sql步驟工作得很好,非常整潔的左連接步驟。非常感謝。 –