What's wrong with my do loop code?
"
data readsp;
do Method = 'A','B','C';
do Subj = 1 to 10;
input Score @;
output;
end;
end;
datalines;
250 255 256 300 244 268 301 322 256 333
267 275 256 320 250 340 345 290 280 300
1 2 3 4 5 6 7 8 9 0
;
title "List of Speed-reading Methods Test";
proc print data=readsp noobs;
run;
"
the output can only show these:
"
Method Subj Score
C 8 8
C 9 9
C 10 0 “
Where are the others?
You do not tell it to goto the next line when it has finished reading the 10 values.
Add an INPUT statement after the inner loop.
data readsp;
do Method = 'A','B','C';
do Subj = 1 to 10;
input Score @;
output;
end;
input;
end;
datalines;
250 255 256 300 244 268 301 322 256 333
267 275 256 320 250 340 345 290 280 300
1 2 3 4 5 6 7 8 9 0
;
you should add double @ to prevent point to skip to next line at next data step iteration.
data readsp; do Method = 'A','B','C'; do Subj = 1 to 10; input Score @@; output; end; end; datalines; 250 255 256 300 244 268 301 322 256 333 267 275 256 320 250 340 345 290 280 300 1 2 3 4 5 6 7 8 9 0 ; title "List of Speed-reading Methods Test"; proc print data=readsp noobs; run;
Ksharp
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.