2016-11-29 2 views
-1

Я пытаюсь установить отсутствующие значения в NULL в наборе данных SAS для числовой переменной, Как я могу это сделать?Как установить отсутствующие значения в NULL в SAS

как отсутствует есть null в sas?

+0

Возможный дубликат [Разница между MISSING и NULL в SAS] (http://stackoverflow.com/questions/33922842/difference-between-missing-and-null-in-sas) – superfluous

+0

Если вы не спрашиваете о отображая его, то это, вероятно, дубликат, но мне это непонятно. – Joe

ответ

1

Если вы спрашиваете, как иметь период не показывать для отсутствующего значения, вы можете использовать:

options missing=' '; 

Это однако не меняет их на нуль, а в космос. SAS должен иметь некоторый символ, который будет отображаться для отсутствия, он не позволит никакому персонажу. Вы также можете выбрать другой символ, как:

options missing=%sysfunc(byte(255)); 

или даже

options missing="%sysfunc(byte(0))"; 

Я не рекомендую последний, потому что это вызывает некоторые проблемы, когда SAS пытается отобразить его.

Затем вы можете обрезать пространство (используя trimn(), который допускает нулевые строки длины), если вы его конкатенируете.

0

Принимая вопрос очень буквально, и предполагая, что вы хотите, чтобы отобразить строку NULL для недостающих значений - один подход заключается в определении пользовательского формата и использовать это:

proc format; 
    value nnull 
    .a-.z = 'NULL' 
    .  = 'NULL' 
    ._ = 'NULL' 
    ; 
run; 

data _null_; 
    do i = .a,., ._, 1,1.11; 
    put i nnull.; 
    end; 
run; 
0

Вы можете установить значения отсутствуют в пределах шага данных, когда она является числовым:

age=.; 

для проверки недостающих числовых значений используйте:

if numvar=. then do; 

или использование ОТСУТСТВУЕТ функция:

if missing(var) then do; 

IS NULL и отсутствующие используется в ИНЕКЕ. Посмотрите: http://www.sascommunity.org/wiki/Tips:Use_IS_MISSING_and_IS_NULL_with_Numeric_or_Character_Variables

Смежные вопросы