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]
Re: st: issue with forvalues/foreach
From
Benjamin Volland <[email protected]>
To
[email protected]
Subject
Re: st: issue with forvalues/foreach
Date
Fri, 14 Dec 2012 15:49:44 +0100
Bok Ivice,
I don't know what's going on in Stata. However, I can offer a simple
solution.
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
[email protected] || www.eizg.hr
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Nick Cox
Sent: 14. prosinac 2012 15:17
To: [email protected]
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" <[email protected]> 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
[email protected] || www.eizg.hr
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Rebecca
Pope
Sent: 13. prosinac 2012 17:52
To: [email protected]
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 <[email protected]> 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
[email protected] || www.eizg.hr
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of William
Buchanan
Sent: 13. prosinac 2012 17:28
To: [email protected]
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
(so
adding "b" to the end of the filename should make it easier to
distinguish the two). Also notice the use of "/" instead of "\" in
the
file 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 to
illustrate
the 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 specified
path:
"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
[email protected] || 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/