Ниже приведена простая программа SAS:
data mydata;
do group = 'placebo', 'active';
do subj = 1 to 5;
input score @;
output;
end;
end;
datalines;
250 222 230 210 199
166 183 123 129 234
;
Я изучаю SAS самостоятельно. Так что я подумал, чтобы убедиться, что здесь происходит. Насколько я понимаю, первая строка из 5 записей относится к группе плацебо, а вторая строка относится к активной группе. Сначала входной буфер содержит первую строку из 5 чисел, и do subj=1 to 5 выводит их одно за другим, до конца итерации текущего шага данных. Затем шаг данных продолжается второй итерацией. Верно ли это понимание? Большое спасибо за ваше время и внимание.
PS. Я просто хочу убедиться, когда освободить текущий входной буфер. После проверки в Интернете я обнаружил, что цель @ заключается в следующем:
содержит входную запись для выполнения следующего оператора INPUT в той же итерации шага DATA. Этот спецификатор удержания строки называется замыкающим @.
Таким образом, это означает, что входной буфер освобождается, если выполняется одно из следующих двух условий:
(1): Новый оператор ввода встречается без символов @ или @@. (2): Конец текущей итерации шага данных.
Любые комментарии очень ценятся.