Функция входа в систему SAS

#sas

Вопрос:

Я вижу, что в sas есть функция logistic (), которая вычисляет обратный логит(x).

 logistic(x) = exp(x)/(exp(x) 1)  

Существует ли функция, которая вычисляет логит(x)?

 logit(x) = log(p/1-p)  

Комментарии:

1. Ты имеешь в виду log(p/(1-p)) ?

Ответ №1:

Нет, но proc fcmp позволяет создавать функции.

 options cmplib=work.funcs;  proc fcmp outlib=work.funcs.stats;  function logit(p);   if(0 lt; p lt; 1) then do;  result = log(p/(1-p));  return(result);  end;  else put "ERROR: Invalid argument to logit function.";   endsub; run;  data _null_;  logit = logit(0.2);  put logit; run;  

Описание того, как сохранять и загружать пользовательские функции:

  1. options cmplib=work.funcs;

Загрузите пользовательские функции из набора work.funcs данных , если он существует.

  1. proc fcmp outlib=work.funcs.stats;

Вывод и добавление пользовательских функций в именованный набор funcs данных . 3-уровневый outlib оператор немного сбивает с толку, поскольку на самом деле он создает иерархический набор данных.

Трехуровневое Имя

one.two.three

one : Имя выходной библиотеки

two : Имя набора данных для хранения пользовательских функций

three : Имя пакета идентификаторов, которое будет добавлено в набор данных. Мы называем это stats посылкой.

Если вы откроете набор work.funcs данных , вы увидите stats пакет в помеченном столбце _Key_ .