Notice: On March 31, it was **announced** that Statalist is moving from an email list to a **forum**. The old list will shut down on April 23, and its replacement, **statalist.org** is already up and running.

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

From |
Benjamin Volland <volland@econ.mpg.de> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: issue with forvalues/foreach |

Date |
Fri, 14 Dec 2012 15:49:44 +0100 |

Bok Ivice,

Based on your initial example I ran the following code sysuse auto.dta rename price var1 rename mpg var2 keep var1 var2 save "F:\project\data\Test Folder\data_1.dta", replace sysuse autornd.dta rename weight var1 rename mpg var2 keep var1 var2 save "F:\project\data\Test Folder\data_2.dta", replace sysuse bplong.dta rename patient var1 rename bp var2 keep var1 var2 save "F:\project\data\Test Folder\data_3.dta", replace clear cd "F:\project\data\Test Folder\" forval i=1/3 { use "data_`i'.dta,clear compress var1 var2 save "data_`i'b.dta, replace } And ran into the same problem, i.e. . file data_1.dta, clear not found . r(601); However, after simply changing the loop to forval i=1/3 { use "data_`i'.dta compress var1 var2 save "data_`i'b.dta, replace clear } everything runs like a charm. HTH, Ben On 14/12/2012 15:38, Rubil Ivica wrote:

Nick, here is one code that I tried to run recently. foreach i in alb arm aze bel bih bul cro geo hun kaz kyr lat lit mol mon pol rom ser taj ukr { use "F:\nov_dot\decomposition\data\`i'.dta", clear sum y0, d local pline = 0.5 * r(p50) replace y0 = y0 / `pline' replace y1 = y1 / `pline' save "F:\nov_dot\decomposition\data\`i'.dta", replace clear } And what Stata gives me is: file F:\nov_dot\decomposition\data`i'.dta not found r(601); end of do-file r(601); Strangely, Stata seems not to recognize the last "\" in the first line within the loop. Again, this happens whenever I have a path within a loop, be it -forvalues- or -foreach-. Hope you can help. Ivica -- Ivica Rubil Ekonomski institut || The Institute of Economics, Zagreb Trg J. F. Kennedyja 7, 10 000 Zagreb, Croatia tel. +385-1-2362-269 || fax. +385-1-2335-165 irubil@eizg.hr || www.eizg.hr -----Original Message----- From: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of Nick Cox Sent: 14. prosinac 2012 15:17 To: statalist@hsphsun2.harvard.edu Subject: Re: st: issue with forvalues/foreach Sorry, but your question remains very difficult to answer. But know that the macro used in the -forval- or -foreach- statement is not visible beyond the loop. Nick On 14 Dec 2012, at 13:27, "Rubil Ivica" <irubil@eizg.hr> wrote:I didn't send the actual code because it is long. The same problem appears whenever I have a path within the -forvalues- or -foreach- loop. The files are certainly in the folders that I am referring to in paths. -- Ivica Rubil Ekonomski institut || The Institute of Economics, Zagreb Trg J. F. Kennedyja 7, 10 000 Zagreb, Croatia tel. +385-1-2362-269 || fax. +385-1-2335-165 irubil@eizg.hr || www.eizg.hr -----Original Message----- From: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of Rebecca Pope Sent: 13. prosinac 2012 17:52 To: statalist@hsphsun2.harvard.edu Subject: Re: st: issue with forvalues/foreach Try this, since it looks like your files are all in the same directory: cd "F:\project\data\" forval i=1/30 { use `"dataset_`i'.dta"', clear compress var1 var2 save `"dataset_`i'.dta"', replace } Note on your -foreach- loop, you tell Stata that "country" is the macro. Therefore, your code should say: foreach country in croatia albania { use "F:\project\data\dataset_`country'.dta", clear compress var1 var2 save "F:\project\data\dataset_`country'.dta", replace } I also changed the colon in the save to an underscore, since I assume that is what you meant. If that doesn't work, please post the code you are really submitting. Perhaps there is something particular to it that isn't captured by your example. Best, Rebecca On Thu, Dec 13, 2012 at 10:36 AM, Rubil Ivica <irubil@eizg.hr> wrote:William, what your suggested does not work either, even after sustituting "/" for "\". -- Ivica Rubil Ekonomski institut || The Institute of Economics, Zagreb Trg J. F. Kennedyja 7, 10 000 Zagreb, Croatia tel. +385-1-2362-269 || fax. +385-1-2335-165 irubil@eizg.hr || www.eizg.hr -----Original Message----- From: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of William Buchanan Sent: 13. prosinac 2012 17:28 To: statalist@hsphsun2.harvard.edu Subject: Re: st: issue with forvalues/foreach Hi Ivica, Try: forv i = 1/30 { use `"F:/project/data/dataset_`i'"', clear compress var1 var2 save `"F:/project/data/dataset_`i'b"', replace clear } It's probably a good idea not to permanently modify your data files(soadding "b" to the end of the filename should make it easier to distinguish the two). Also notice the use of "/" instead of "\" inthefile path. Using the "/" character will work on all platforms, and avoids some of the problems that you faced. HTH, Billy On Dec 13, 2012, at 8:21 AM, Rubil Ivica wrote:Dear Statalisters: When I to run the following (two artificial examples just toillustratethe issue) forvalues i = 1(1)30 { use "F:\project\data\dataset_`i'.dta", clear compress var1 var2 save "F:\project\data\dataset_`i'.dta", replace clear } or for instance foreach country in croatia albania { use "F:\project\data\dataset_`i'.dta", clear compress var1 var2 save "F:\project\data\dataset:`i'.dta", replace clear } Stata returns file F:\project\data`i'.dta not found It seems strange to me that Stata "forgets" the exactly specifiedpath:"F:\project\data\dataset_`i'.dta" in the first example and "F:\project\data\dataset_`i'.dta" in the second example. -- Ivica Rubil Ekonomski institut || The Institute of Economics, Zagreb Trg J. F. Kennedyja 7, 10 000 Zagreb, Croatia tel. +385-1-2362-269 || fax. +385-1-2335-165 irubil@eizg.hr || www.eizg.hr * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/faqs/resources/statalist-faq/ * http://www.ats.ucla.edu/stat/stata/* * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/faqs/resources/statalist-faq/ * http://www.ats.ucla.edu/stat/stata/ * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/faqs/resources/statalist-faq/ * http://www.ats.ucla.edu/stat/stata/* * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/faqs/resources/statalist-faq/ * http://www.ats.ucla.edu/stat/stata/ * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/faqs/resources/statalist-faq/ * http://www.ats.ucla.edu/stat/stata/* * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/faqs/resources/statalist-faq/ * http://www.ats.ucla.edu/stat/stata/ * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/faqs/resources/statalist-faq/ * http://www.ats.ucla.edu/stat/stata/

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

**Follow-Ups**:**RE: st: issue with forvalues/foreach***From:*"Rubil Ivica" <irubil@eizg.hr>

**References**:**st: issue with forvalues/foreach***From:*"Rubil Ivica" <irubil@eizg.hr>

**Re: st: issue with forvalues/foreach***From:*William Buchanan <william@williambuchanan.net>

**RE: st: issue with forvalues/foreach***From:*"Rubil Ivica" <irubil@eizg.hr>

**Re: st: issue with forvalues/foreach***From:*Rebecca Pope <rebecca.a.pope@gmail.com>

**RE: st: issue with forvalues/foreach***From:*"Rubil Ivica" <irubil@eizg.hr>

**Re: st: issue with forvalues/foreach***From:*Nick Cox <njcoxstata@gmail.com>

**RE: st: issue with forvalues/foreach***From:*"Rubil Ivica" <irubil@eizg.hr>

- Prev by Date:
**RE: st: issue with forvalues/foreach** - Next by Date:
**Re: st: issue with forvalues/foreach** - Previous by thread:
**RE: st: issue with forvalues/foreach** - Next by thread:
**RE: st: issue with forvalues/foreach** - Index(es):