Statalist The Stata Listserver


[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

st: RE: If command for the existence of a data value


From   "Nick Cox" <n.j.cox@durham.ac.uk>
To   <statalist@hsphsun2.harvard.edu>
Subject   st: RE: If command for the existence of a data value
Date   Fri, 28 Apr 2006 13:49:18 +0100

You need to read 

http://www.stata.com/support/faqs/lang/ifqualifier.html

As I understand it, you want to loop over a set
of datasets, somewhat irregularly numbered. 

In this situation, using -if- is not a good way to do it. 

If you install -fs- by 

ssc inst fs 

and then 

cd c:\data

and then 

fs data*.txt 

You can then go 

foreach f in `r(files)' { 
	insheet using `f' 
	
	...
} 

If this is not the problem, please explain what is. 

Nick 
n.j.cox@durham.ac.uk 

Samu.Kurri@bof.fi
 
> how can I do a loop (or an if command) so that STATA goes to the next
> value and does required calculations and after that continues to the
> next value etc.
> 
> The problem is that I tried while loop so that i=i+1. But because my
> values are from eg. 1, 5, 6, 7, 11, ... the loop stops 
> because it can't
> find number 2.
> 
> I tried it like 
> 
> 	local i=2
> 	while `i'<687. {
> 	insheet using "C:\Data\Data`i'.txt"
> 
> 	if m==`i' & change !=.{
> 
> 
> , where m is the conrol variable and change the valuable the one of
> which the calculations are done. This does not work. Instead of saying
> "look from m value i" I want that Stata finds the first value 
> of m that
> exists in data, and then finds the next existing value etc. 

*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/



© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index