В SAS, как мне сделать, чтобы средства proc использовали информацию, которую я определил, для создания статистики? - PullRequest
2 голосов
/ 03 ноября 2010
data abc;
  a = 1; output;
  a = 99; output;
run;

proc format; 
  invalue abc
    99 = .
    other = _same_;

      value abc
    99 = .
    other = _same_;
run;


proc means data = abc;
    format a abc.;
    informat a abc.;
    var a;
run;

Я ожидаю, что приведенный выше код даст мне среднее значение 1 для переменной a. Но это не так, в proc означает, что он не хочет использовать формат, который я определил. Можно ли включить эту функцию, чтобы она работала?

Ответы [ 2 ]

4 голосов
/ 03 ноября 2010

форматы и информация не работают таким образом.информаты изменяют входящие данные, прежде чем они будут сохранены в наборе данных sas.форматы изменяют способ представления данных для вывода, но базовые данные остаются неизменными.кроме того, форматы не применяются к вычислениям.

Вы можете попробовать что-то вроде этого?

data abc;
  a = 1; output;
  a = 99; output;
run;

data def;
  set abc;
  if a = 99 then a = .N;
run;

proc means data = def;
    var a;
run;
1 голос
/ 04 ноября 2010

Насколько мне известно, форматы будут работать для отображения значений. форматы не будут учитываться при анализе.

SD.

...