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
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.