2017-06-28 40 views
2

我用下面的代碼來創建從數據集的數組:SAS在創建之後需要刪除一個數組嗎?

DATA REPLACED; 
    SET TPS_DROPPED; 
    array arr_jin(*) _numeric_; 
    do i=1 to dim(arr_jin); 
     if arr_jin(i) = . then arr_jin(i) = 0; 
    end; 
    drop i arr_jin; 
RUN; 

但是,我得到了以下錯誤日誌:

ERROR 241-185: The array arr_jin is not allowed in a DROP/KEEP/RENAME context. 
WARNING: The variable arr_jin in the DROP, KEEP, or RENAME list has never been referenced. 

這是真的,一般陣列不需要在創建之後被丟棄?

回答

5

SAS數據步驟中的ARRAY不是一個變量,所以沒有什麼可以刪除。

如果您確實想刪除您使用數組引用的實際變量,則需要在DROP語句中列出這些變量名稱。

+2

只是爲了進一步闡明:SAS中的數組只是一種方便,它不是它自己的數據類型。 SAS只有[數字列]和[字符列]作爲數據類型,其他一切都很方便。 – Joe

相關問題