# Re: st: RE: AW: how to reconstruct a minimum acceptable income from a set of binary variables?

 From Jeph Herrin To statalist@hsphsun2.harvard.edu Subject Re: st: RE: AW: how to reconstruct a minimum acceptable income from a set of binary variables? Date Mon, 02 Mar 2009 11:12:42 -0500

```Well, on inspection, I see that her data have multiple
tags per record, so that 1s are filled to the right after
the first (left to right) 1; I was misled by
Martin's faux dataset.  Her stated logic would then
require:

gen min=mininc1*500+(mininc2-mininc1)*1000+(mininc3-mininc2)*1500

Pending clarificaiton from Ekaterina about the _real_ structure
of her data..

Jeph

Nick Cox wrote:
```
Good!
```I didn't spell out that I feared that there are yet other variables in
what might be Ekaterina's _real_ problem, lurking behind her stated
```
problem, making a more general approach attractive too. Nick n.j.cox@durham.ac.uk
```Jeph Herrin

Briefer yet:

gen min=mininc1*500+mininc2*1000+mininc3*1500

which also traps the missings Nick cautions about.

Nick Cox wrote:
```
A variation on the same idea: gen min = 500 foreach v in 1000 1500 2000 { replace min = `v' if mindesinc_`v' == 1 }
```
```
To be careful, check egen row = rowtotal(mindesinc*) assert row == 1 Nick n.j.cox@durham.ac.uk
```Martin Weiss

*reconstruct Ekaterina`s data
clear*
input id mindesinc_500_999 mindesinc_1000_1499  mindesinc_1500_1999
101 1 0 0 0
102 0 1 0 0
103 0 0 1 0
104 0 0 1 0
105 0 1 0 0
end
*construct the minimum desired income
g mindesinc=500 if mindesinc_500_999
replace mindesinc=1000 if mindesinc_1000_1499
replace mindesinc=1500 if mindesinc_1500_1999
l

Ekaterina Hertog
I am dealing with a dataset from a private company and so my data
```
often
```comes in rather strange format and I now came against the following
problem:
```
```income.
```
```It looks as follows:

Individ nmb | Min desired income 500 - 999 | 1000 - 1499 |  1500 -
```
```2000
```
```|
```
101 | 0 | 0 | 1 | 102 | 0 | 1 | 1 | 103 | 0 | 0 | 1 | 104 | 1 | 1 | 1 | 105 | 0 | 1 | 1 |
```
```
Is there a way to automatically recode these binary minimum desired income variables into a numerical variable which would state the
```minimum
```
```acceptable figure for each individual?
```
That is some routine which would check "Min desired income 500 - 999" and if it equals 1 then would input 500 for the individual in question
```
```
```into a newly constructed variable "Minimum acceptable income" and move
```
```
```
on to the next person and if it equals 0 would look at the value of "1000 - 1499" variable and if it equals 1 would input 1000 for that person and move on to the next person and if it is 0 would look at
```"1500
```
```- 2000" variable?
```
```
*
*   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/
```