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: Dynamic variables names from file name
From
"Jana J." <[email protected]>
To
[email protected]
Subject
st: Dynamic variables names from file name
Date
Tue, 11 Oct 2011 12:39:02 +0200
Dear list,
could anybody tell me how to generate variable names dynamically which
are a combination of (i) a part of a file name + (ii) some characters.
Simplified example:
I have 2 datasets [e.g. called "a2010.dta" and "b2010.dta"]. Each
contains variable names that are identical except for the first part,
which comes from some part of the name of the dataset. [e.g. for
"a2010.dta" - av1, av2, ... and for "b2010.dta" - bv1, bv2, ... ]
Now I want to generate a loop using each of the two datasets and
compute things with the variables. [What I want is, e.g., to generate
a variable newvar = av1 + av2 and newvar =bv1+bv2, for both datasets.]
How do I generate and use variable names within the loop, which are a
combination of a part of the file name and some appended string?
I tried
for each i in a2010 b2010 {
use "`i'.dta"
gen j =substr("`i'",1,1) // cut off the first letter in the name
of the dataset i
gen newvar =`j'v1 + `j'v1 // try to get it into he variable name
}
I also tried to generate strings which are identical to the variable name
gen j = substr("`i'",1,1) // cut off the first letter in the
name of the dataset i
gen k =v1 // generate second part of variable
egen l =concat(j k) // paste together
But I dont know how to use the content of this string variable "l" as
the name of a variable within the dataset, and not as the string
variable "l" itself.
Thanks a lot in advance,
best regards
Jana
*
* 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/