0
我有一個SAS數據集,如下所示。我想使用第一列值作爲被減數,它是第2列 - 第1列,第3列 - 第1列,第4列 - 第1列......在SAS中執行此差異的最有效方法是哪種?使用數組或做循環?執行SAS列之間差異的最有效方法
hotelID expense1 expense2 expense3 expense4 expense5
1 41241 56234 45124 12551 74245
2 31232 45213 51411 67432 23523
3 75463 14352 74214 51541 25236
4 95324 21451 73423 15215 56432
5 12445 64622 12156 52442 52351
6 43542 24141 62532 63255 78454
7 12625 14525 45235 15351 15364
要找到最有效的(CPU時間?),你可能想嘗試不同的方法,並確定其經驗。也許是循環(循環數組)與4賦值語句,轉換爲規範化格式,並使用BY組處理來保留first.expense作爲被減數。 – Quentin
有了這樣一個簡單的計算,我懷疑磁盤I/O而不是CPU將成爲限制因素,所以方法的選擇不會有太大的區別,假設它在一個數據步驟內運行。我會選擇數組選項,主要是爲了獲得整潔的代碼。 – user667489
@ user667489,你可以給我代碼如何做到這一點? – user3525837