Я пытаюсь получить в качестве макропеременной или простой переменной число наблюдений, которое является min/max одной переменной.SAS: получить номер наблюдения максимального/минимального значения переменной
я могу легко получить значение этого мин/макс, через Proc SQL
proc sql noprint;
select min(variable) into :minvariable
from have;
quit;
Или с помощью резюме Proc
proc summary data=want;
var variable;
output out=mintable min=minvariable;
run;
Но я не fouhd в любом методе, простой способ чтобы найти номер наблюдения, которому соответствует этот минимум.
фон: Я хочу разделить свои отсортированную базу данных на основе этого числа наблюдений, потому что я знаю, что сортируется в правильном направлении есть глобальный минимум, и мои переменная интереса следует U-образной кривой
Я надеялся сделать это за один шаг, но это именно то, к чему я стремлюсь. Однако это не работает. Я не получаю никаких ошибок при запуске вашего кода, но когда я пытаюсь вызвать '% put & obsnr', я получаю' WARNING: Очевидная символическая ссылка OBSNR не разрешена. 'И действительно, моя minvariable, скорее всего, не уникальна. –
Код работал для меня с некоторыми тестовыми значениями. Вы уверены, что переменные = & minvariable совпадают в вашем случае? В противном случае obsnr никогда не будет создан. Я думаю, что есть решение решить это за один шаг, но у меня нет спонтанной идеи прямо сейчас. Если minvariable не уникален, вы должны хранить каждое соответствие в другой переменной (nobs1, nobs2, ...) – kl78
Я пробовал другие способы, и я боюсь, что у меня есть очень близкие значения, и, возможно, закругленные проблемы ... –