Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

st: RE: input statement inside a while loop


From   "Nick Cox" <[email protected]>
To   <[email protected]>
Subject   st: RE: input statement inside a while loop
Date   Thu, 8 Jul 2010 17:56:58 +0100

This has I think arisen recently but I am not going to try to search the
archives for "end". 

I guess you're right: -end- in a do-file or programming context is just
hopelessly ambiguous. 

If this example is close to the problem, then 

set obs 2 
gen lines1 = cond(_n == 1, "rec", "dat") 

is a way of avoiding 

		input str5 lines1
			"rec"
			"dat"
		end

Another way is just to store that data in a separate dataset and read it
in each time. 

Nick 
[email protected] 

Ricardo Ovaldia, MS 

I am trying to create a data set inside a -while- loop but it keeps
failing. I think that the -end- confuses Stata. 
Here is a simplified version:
-----------------------------
local i 1
	while `i'<=10 {
		clear
		set obs 100
		gen x=uniform()
		sum x
		clear
		input str5 lines1
			"rec"
			"dat"
		end
                  save temp`i', replace
		local i=`i'+1
	}
-------------------------------------


output:
. local i 1

.         while `i'<=10 {
  2.                 clear
  3.                 set obs 100
  4.                 gen x=uniform()
  5.                 sum x
  6.                 clear
  7.                 input str5 lines1
  8.                         "rec"
  9.                         "dat"
 10.                 end
--Break--
r(1);

end of do-file



If I take out the -input- command it works. Any ideas?


*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index