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

# Re: st: If variable x contains variable y

 From Christoph Engel To statalist@hsphsun2.harvard.edu Subject Re: st: If variable x contains variable y Date Sun, 15 Jul 2012 18:17:18 +0200

```John,

```
It still is not fully clear to me what you want. I take it what you previously called "y" is variable "idno". You actually want a dummy that is 1 if "idno" is in a certain range, and 0 otherwise. If that is what you are after, you can use
```
gen dummy = (idno > 173664 & idno < 294053)

Actually for that purpose it is better that your variable idno is numeric.

Hope that helps

Christoph Engel

Am 7/15/2012 5:52 PM, schrieb john.guzek@lshtm.ac.uk:
```
```Hi,

Thanks for your help. It's a bit more tricky than that, at least as far
as I can tell. I'll try and explain a little more clearly! So, as below,
I have household level and individual level identifiers. I essentially
want to flag the mother's idno. So something along the lines of gen x=1
if idno=="any value in mother_id" to look like column x below. Whether
column x read 1 or the corresponding idno is not important at this
stage. And I agree, these probably should be stored as string, it's not
my data!

idhouseidnomother_idx
1736641
173665
173666
17366773664
173668
294038
2940391
294040
2940411
294042
2940431
29404494041
29404594039
2940461
29404794046
29404894046
294049
294050
29405194043
294052

John

```
```Christoph Engel  15/07/12 4:21 PM>>>
```
```John,

You will have to define the value of x if y does not fulfil your
condition, i.e. if it is not equal to z. Depending on your purposes you
might either want it to be a missing value, or some expression of x, say

0. I would therefore start out

gen x = .
replace x = y if y == z

(note the "==" in the if clause)

Best

Christoph Engel

Am 7/15/2012 4:59 PM, schrieb Steve Nakoneshny:
```
```John,

At first glance, it would seem that -gen x = y if y = z- would serve
```
```as a solution. Of course, this assumes that your I'd vars are numerical
and not string vars (which they probably should be stored as).
```
```Steve

Sent via carrier pigeon

On 2012-07-15, at 8:52 AM, "john.guzek@lshtm.ac.uk"  wrote:

```
```Hello,

This is my first time using statalist, I hope I do this all
```
```correctly!
```
```
I'm looking to create a variable x which is equal to y, but only if
```
```the given value for y can be found in another variable, z. These are all
id numbers, so say y is a universal id and z is a mother's id, telling
you the universal id of the mother in relation to the child.
```
```
For example:

yzx

1..
2.2
3.3
42.
5..
6..
737
8..
9..
107.

So I'm trying to figure out how to create x. Any help would be much
```
```appreciated.
```
```
Thanks,
John

*
*   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/
```
```*
*   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/

```
```
```
```

--
_________________________________________________________________
Prof. Dr. Christoph Engel
Max-Planck-Institut zur
Erforschung von Gemeinschaftsgütern
Max Planck Institute for Research on Collective Goods
Kurt-Schumacher-Strasse 10
D 53113 Bonn
Tel. +49/228/91416-10
Fax +49/228/91416-11
e-mail:engel@coll.mpg.de
http://www.coll.mpg.de
http://www.coll.mpg.de/engel.html
http://ideas.repec.org/e/pen22.html
http://papers.ssrn.com/sol3/cf_dev/AbsByAuth.cfm?per_id=251559
_________________________________________________________________

*
*   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/
```