Statalist


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

Re: st: simulating data for logistic regression: translating R toStata


From   Michael McCulloch <mm@pinest.org>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: simulating data for logistic regression: translating R toStata
Date   Sun, 1 Jun 2008 20:10:35 -0700

Thank you Maarten. This worked very well. The complete code for my simulation of data for logistic regression is as follows. From your article, I learned how to write the code for generating disease variable -y-.

clear
set mem 1g
set obs 100000 //create 1000 observations
gen id=_n //Create ID numbers
set seed 12358 //set random number seed for reproducibility
gen treat= 1 + int(2*uniform()) //treatment: discrete uniform random variables, 1 or 2
gen comorb= 1 + int(4*uniform()) //# of comorbid conditions: 1,2,3, or 4
gen age=50+10 * invnorm(uniform()) // create age, with mean 50 and sd==10
gen chol = 200+25 * invnorm(uniform()) // create cholesterol, with mean 200 and sd==25
gen wt = 150+20 * invnorm(uniform()) // create cholesterol, with mean 200 and sd==25
gen sex= 1 + int(2*uniform()) // create sex: discrete uniform random variables, 1 or 2
replace sex=0 if sex==2
* Specify population model for log odds that Y=1
gen y = uniform() < invlogit(-3 + .1*(comorb-2) + .045*(age-50) + (-2*(treat)))
logit y treat comorb age // note that regression coefficients approximate those specified




--- Michael McCulloch <mm@pinest.org> wrote:
 I'm simulating data for logistic regression (code for variable
 generation is below) , and am missing the last step, linking
 exposureto disease. Disease will be a y/n variable.
This was discussed in M.L. Buis (2007) "Stata tip 48: Discrete uses for
uniform()" The Stata Journal, Vol. 7 No. 3, pp. 434-435.
http://home.fsw.vu.nl/m.buis/wp/discrete.html

Hope this helps,
Maarten

-----------------------------------------
Maarten L. Buis
Department of Social Research Methodology
Vrije Universiteit Amsterdam
Boelelaan 1081
1081 HV Amsterdam
The Netherlands

visiting address:
Buitenveldertselaan 3 (Metropolitan), room Z434

+31 20 5986715

http://home.fsw.vu.nl/m.buis/
-----------------------------------------


      __________________________________________________________
Sent from Yahoo! Mail.
A Smarter Email http://uk.docs.yahoo.com/nowyoucan.html
*
*   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/
*
*   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