DATA Step, Macro, Functions and more

Arrays... when are they better than just a do loop?

Accepted Solution Solved
Reply
Frequent Contributor
Posts: 130
Accepted Solution

Arrays... when are they better than just a do loop?

Hi,

 

Are there any resources regarding when to do a do loop with an array, as opposed to just a do loop without an array? What are the advantages of using an array, and when use them?

 

Thanks.


Accepted Solutions
Solution
‎05-09-2018 07:10 PM
Respected Advisor
Posts: 3,294

Re: Arrays... when are they better than just a do loop?

Posted in reply to ManitobaMoose

ARRAYs are usually useful when you want to perform the same (or very similar) analysis on many different columns.

 

Do loops not in an array are much more general, and allow you to iterate until some (hopefully) desirable result is obtained.

--
Paige Miller

View solution in original post


All Replies
Solution
‎05-09-2018 07:10 PM
Respected Advisor
Posts: 3,294

Re: Arrays... when are they better than just a do loop?

Posted in reply to ManitobaMoose

ARRAYs are usually useful when you want to perform the same (or very similar) analysis on many different columns.

 

Do loops not in an array are much more general, and allow you to iterate until some (hopefully) desirable result is obtained.

--
Paige Miller
Frequent Contributor
Posts: 130

Re: Arrays... when are they better than just a do loop?

Posted in reply to PaigeMiller

Thanks.

 

I also have one other related question: the _n_ = 1 for arrays. Does that mean it starts at the first observation, first line. etc? I see that written and I am not entirely sure what it does. See the code below.

 

Data score ; 
	array ans{10} $1 ; 
	array key{10} $1 _temporary_  ; 
*Load the temporary array elements*
	If _n_ = 1 then do Ques = 1 to 10 ; *_n_ = 1 only does first line of the key *
I		input key{Ques} $1. @ ; 
	end ; 
	
	Input ID (Ans1-Ans10) ($1.) ;
	Rawscore = 0 ; 
	
*Score the Test*
	do Ques = 1 to 10 ; 
		Rawscore + (key(Ques) eq Ans(Ques)) ; 
	end ; 
Percent = 100*Rawscore ; 
keep ID Rawscore Percent ; 
Datalines ; 
☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 162 views
  • 0 likes
  • 2 in conversation