如何在SAS中将缺少的值设置为NULL
我试图在SAS数据集中为数值变量将缺失值设置为NULL, 我该怎么做如何在SAS中将缺少的值设置为NULL,sas,Sas,我试图在SAS数据集中为数值变量将缺失值设置为NULL, 我该怎么做 sas中的缺失为空 从字面上理解这个问题,并假设您希望为任何缺少的值显示字符串NULL——一种方法是定义自定义格式并使用该格式: proc format; value nnull .a-.z = 'NULL' . = 'NULL' ._ = 'NULL' ; run; data _null_; do i = .a,., ._, 1,1.11; put i nnull.; en
sas中的缺失为空 从字面上理解这个问题,并假设您希望为任何缺少的值显示字符串
NULL
——一种方法是定义自定义格式并使用该格式:
proc format;
value nnull
.a-.z = 'NULL'
. = 'NULL'
._ = 'NULL'
;
run;
data _null_;
do i = .a,., ._, 1,1.11;
put i nnull.;
end;
run;
当数据步骤为数字时,可以在数据步骤中将值设置为“缺少”:
age=.;
要检查缺少的数值,请使用:
if numvar=. then do;
或使用缺少的功能:
if missing(var) then do;
在WHERE子句中使用。
查看:如果您询问如何不显示缺失值的周期,您可以使用:
options missing=' ';
然而,这实际上并没有将它们更改为null,而是更改为空格。SAS必须有一些字符来显示缺失,它不允许没有字符。您还可以选择其他角色,如:
options missing=%sysfunc(byte(255));
甚至
options missing="%sysfunc(byte(0))";
我不推荐后者,因为SAS试图显示它时会导致一些问题
如果要将空间连接到某个位置,则可以修剪空间(使用允许零长度字符串的
trimn()
)。可能重复如果您不要求显示它,则它可能是重复的,但我不清楚。