Statalist


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

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


From   "Martin Weiss" <martin.weiss1@gmx.de>
To   <statalist@hsphsun2.harvard.edu>
Subject   AW: st: RE: AW: how to reconstruct a minimum acceptable income from a set of binary variables?
Date   Mon, 2 Mar 2009 17:22:00 +0100

<> 

English is not my mother tongue, so I do not know what to make of this
"faux" (neither does my dictionary). Ekaterina`s dataset in her initial post
was not legible to me so I tried to emulate it. I cannot vouch for
correctness or whether I understood the poster`s intent entirely. Replies
should always be in reference to the original post, not to what someone made
of it...



HTH
Martin


-----Ursprüngliche Nachricht-----
Von: owner-statalist@hsphsun2.harvard.edu
[mailto:owner-statalist@hsphsun2.harvard.edu] Im Auftrag von Jeph Herrin
Gesendet: Montag, 2. März 2009 17:13
An: statalist@hsphsun2.harvard.edu
Betreff: Re: st: RE: AW: how to reconstruct a minimum acceptable income from
a set of binary variables?

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:
>>  
>> I have a set of individuals who answered questions about desired
> 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/


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



© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index