2016-09-15 2 views
0

У меня есть университетское издание SAS, то есть оно открывается в окне браузера. У меня есть данные из групп лечения A, B и C. Я пытаюсь использовать DO-циклы для обработки групп отдельно для сравнения. Я могу сделать это в одном вложенном цикле DO, когда длина данных одинакова. Но у этих групп разное количество наблюдений, и у меня проблемы. Вот мой код:DO петли и ввод данных в SAS

data AirPoll1 (keep = Group Ozone); 
label Group = "Treatment Group"; 
label Ozone = 'Ozone level (in ppb)'; 
do i=1 to 1; 
input Group [email protected]@ 
do j=1 to 15; 
    input Ozone @@; 
    output; 
    end; 
end; 
do i=1 to 1; 
input Group $ @@; 
do j=1 to 10; 
    input Ozone @@; 
    output; 
    end; 
end; 
do i=1 to 1; 
input Group $ @@; 
do j=1 to 11; 
    input Ozone @@; 
    output; 
    end; 
end; 

datalines; 
A 4 6 3 4 7 8 2 3 4 1 8 9 5 6 3 
B 5 3 6 2 1 2 4 3 2 4 
C 8 9 7 8 6 7 6 7 9 8 9 
; 
run; 
proc univariate data = AirPoll1; 
Var Ozone; 
by Group; 
histogram Ozone; 
run; 

Ошибка я получаю: ОШИБКА 161-185: Нет соответствия не DO/SELECT заявление.

Есть ли быстрый способ исправить это? Спасибо!

+1

вы просто пропустили; после ввода Group $ @@ после первого цикла do 'do i = от 1 до 1; input Group $ @@ **; ** ' – kl78

+0

@ kl78 Это сделало бы это! Не знаю, как я пропустил это, но я это ценю! – Jabernet

ответ

0

Быстрое исправление действительно

вы пропустили от полуфинала двоеточие первой входной линии,

DOH :)

счастливым программирования