SAS使用数组将缺少的值设置为0,而列包含混合数据类型

SAS使用数组将缺少的值设置为0,而列包含混合数据类型,sas,Sas,我正在阅读有关将数据集的所有缺失值设置为0的内容 然而,它似乎只适用于具有数字数据类型的数据集。如果我的数据同时具有字符和数字数据类型,该怎么办?我不能声明像array a(*)\u numeric\u或数组a(*)\u字符,而且似乎在数组中不允许使用ALL。那么,解决这个问题的合适方法是什么?如果您希望将数字和字符变量都设置为0/“0”,则必须运行两个数组,例如: array __missnums _numeric_; do over __missnums; if __missnums=.

我正在阅读有关将数据集的所有缺失值设置为0的内容


然而,它似乎只适用于具有数字数据类型的数据集。如果我的数据同时具有字符和数字数据类型,该怎么办?我不能声明像
array a(*)\u numeric\u
数组a(*)\u字符,而且似乎在数组中不允许使用ALL。那么,解决这个问题的合适方法是什么?

如果您希望将数字和字符变量都设置为0/“0”,则必须运行两个数组,例如:

array __missnums _numeric_;
do over __missnums;
  if __missnums=. then __missnums=0;
end;
array __misschars _character_;
do over __misschars;
  if __misschars="" then __misschars="0";
end;
如果您的数据集包含两种类型的变量,则没有区别,
\u numeric\u
\u character\u
关键字仅相应地应用于数字/字符变量。

您声明不能使用数字或字符列表,但随后将该响应标记为正确?