将缺失的数据线编码为未知而不是缺失

问题描述 投票:0回答:1

enter image description here

我正在尝试将缺失的频率计数重新编码为未知并且缺失 0 并将它们放在未知类别中。我的代码不会产生错误,但不会将它们重新编码为未知

我尝试使用 if/then 语句重新分类

sas sas-macro proc frequency-analysis
1个回答
0
投票

使用

MISSING()
函数检测缺失值。

  if missing(gender) then gender='UNKNOWN';

虽然这种方法有问题。如果重新编码值比变量长,重新编码值将被截断。

如果 gender 是 $1,赋值

gender="UNKNOWN;
将产生 generder = 'U'。

更好的方法是使用自定义格式将缺失值映射到您的指标。

proc format;
  value $missingc ' '='UNKNOWN';
  value  missingn  . ='UNKNOWN';
run;

proc freq data=have;
  table gender race ethnicity resident_or_staff age / missing;
  format gender race ethnicity resident_or_staff $missingC.;
  format age missingN.;
run;
© www.soinside.com 2019 - 2024. All rights reserved.