如何将不必要的值替换为sas中缺少的值?

如何将不必要的值替换为sas中缺少的值?,sas,missing-data,Sas,Missing Data,我处理的是一个连续变量,它的值类似于,如果变量有字符值,那么它是字符值,而不是数字。你也需要解决这个问题。我建议使用anyalpha()函数来确定是否可以将其转换为数字 If anyalpha(old_var)=0 then new_var = input(old_var, best12.); 您可以简单地将变量乘以1;这会将存储为字符值的所有数字值替换为对应的数字值,并将所有字符值填充为缺失: data temp; input var $; datalines; Hell

我处理的是一个连续变量,它的值类似于,如果变量有字符值,那么它是字符值,而不是数字。你也需要解决这个问题。我建议使用anyalpha()函数来确定是否可以将其转换为数字

If anyalpha(old_var)=0 then new_var = input(old_var, best12.);

您可以简单地将变量乘以1;这会将存储为字符值的所有数字值替换为对应的数字值,并将所有字符值填充为缺失:

data temp;
   input var $;
   datalines;
    Hello
    1
    <3
    3
    Note1
    5
;
run;

data temp2;
    set temp;
    var2 = var * 1;
run;
数据温度;
输入var$;
数据线;
你好
1.

您可以使用输入函数将字符转换为数字

new_var = input(old_var, ?? best.);
通过在信息之前立即提供
选项,您指示SAS在遇到应用信息的问题时,禁止其正常打印的任何警告消息或注释


这种方法的优点在于它很简单,它传达了您将值从字符串转换为数字的意图,同时忽略了您遇到的任何类型转换。

为什么要编写代码,在有很多其他有效方法解决它的情况下产生警告?