Statalist The Stata Listserver


[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

RE: RE: st: Problem with "If" statement


From   "Nick Cox" <n.j.cox@durham.ac.uk>
To   <statalist@hsphsun2.harvard.edu>
Subject   RE: RE: st: Problem with "If" statement
Date   Thu, 8 Jun 2006 14:08:55 +0100

You need to 

replace boyno = . if b != 1 

Beyond that, you've lost me. Sorry,

Nick 
n.j.cox@durham.ac.uk 

Deepankar Basu
 
> Nick,
> 
> Following your suggestion, I have -reshape- the data. This is how it
> looks now:
> 
> id  chilno  dfsize  nboy alive b  boyno  cno
> 1     1       4       2    4   1    1     1
> 1     2       4       2    4   2    1     2
> 1     3       4       2    4   1    2     3
> 1     4       4       2    4   2    2     4
> 1     5       4       2    4   .    2     4
> 1     6       4       2    4   .    2     4
> 1     7       4       2    4   .    2     4
> 2     1       4       2    3   1    1     1
> 2     2       4       2    3   .    1     1
> 2     3       4       2    3   2    1     2
> 2     4       4       2    3   .    1     2
> 2     5       4       2    3   1    2     3
> 2     6       4       2    3   .    2     3
> 2     7       4       2    3   .    2     3
> 
> 
> dfsize: desired family size
> nboy  : number of boys alive in the family
> alive : noumber of children alive
> b     : 1(boy), 2(girl), .(dead or not born)
> boyno : first boy or second boy, etc.
> cno   : first child or second child, etc. (only alive children)
> 
> 
> 1. I want to first generate the following variables:
> 
> local i 1
> while `i' <= 7 {  \\There are a maximum of 7 children in any family
> 
>  local j 1
>  while `j'<= `j' {
>    gen p`i'`j'=0
>    local j= `j' + 1
>  }
> local i = `i' + 1
> }
> 
> 
> local k = `nboy'
> local i 1
> forvalues i=1(1)`k' {
>   replace p`dfsize'`k' = (0.5)^`alive'
> }
> 
> I can do this step.
> 
> 2. Now I want to replace the value of p`dfsize'`k' with 0 whenever the
> kth (k runs from 1 to `nboy') boy is not the Nth child. For instance,
> for the family with id==1, I would want: p41=0, p42=0, 
> p43=(0.5)^4. For
> the second family (id==2), I would want: p51=0, p52=(0.5)^3, p53=0,
> p54=0. (Note that I want the p* variables to have a single value for
> each family.)
> 
> This is where I am stuck.
> 
> 2. Later, I want to get back to the -wide- format because I 
> want to use
> the p* variables for my ML estimation.
> 
> Any suggestions will be appreciated.
> 

*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   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