SAS创建阵列后是否需要删除阵列?

SAS创建阵列后是否需要删除阵列?,sas,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

我使用以下代码从数据集创建数组:

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.

通常,数组在创建后不需要删除,这是真的吗?

SAS数据步骤中的数组不是变量,因此不需要删除任何内容


如果确实要删除使用数组引用的实际变量,则需要在drop语句中列出这些变量的名称

再进一步澄清一下:SAS中的数组只是一种方便,它不是自己的数据类型。SAS只有[numeric column]和[character column]作为数据类型,其他一切都很方便。