2016-09-15 37 views
0

我有SAS的大学版,即它在浏览器窗口中打开。 我有来自治疗组A,B和C的数据。我尝试使用DO循环分别处理这些组以进行比较。当数据长度相同时,我可以在一个嵌套的DO循环中执行此操作。但这些团体的观察数量不同,我遇到了麻烦。这里是我的代码:SAS中的DO循环和数据输入

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 i = 1 to 1; 输入组$ @@ **; **' – kl78

+0

@ kl78这样做!不知道我错过了什么,但我很感激! – Jabernet

回答

0

快速修复的确

你已经错过了断第一输入行的分号,

DOH :)

快乐编程