Statalist


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

Re: st: troubleshooting code for simulating survival data


From   Michael McCulloch <mm@pinest.org>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: troubleshooting code for simulating survival data
Date   Thu, 29 May 2008 07:50:07 -0700

Thanks Svend. I've re-run the program preceded by
. set tracedepth 1
. set trace on
and here is what is returned, but I'm not sure how to understand the error messages given.

********* begin command *************
. capture program drop sim_surv

. program define sim_surv, rclass
1. tempname lambda a id t
2. set obs 10 //create 10 observations
3. gen `id'=_n //Create ID numbers
4. set seed 1235 //set random number seed for reproducibility
5. gen `a'=0 + int(2*uniform()) //Generate treatment: discrete 0/1 uniform random variable

 s
6. gen `lambda'=-2
7. gen `t'=(ln(uniform())/(`lambda'*exp(-0.8*`a'))) // using Bender, 2005
8. stset `t'
9. stcox `t'
10. indeplist, local
11. foreach var of varlist `X' {
12. return scalar `var' = exp(_b[`var'])
13. }
14.
. end

. set seed 12358

. bootstrap a=r(a), eform reps(10): sim_surv

********* begin response *************

------------------------------------------------------------------------------ begin bootstrap ---
- version 9, missing
- local version : di "version " string(_caller()) ", missing:"
- if _caller() < 9 {
capture syntax [anything] using [, * ]
if !c(rc) {
if _by() {
error 190
}
`version' bootstrap_8 `0'
exit
}
}
- capture _on_colon_parse `0'
= capture _on_colon_parse a=r(a), eform reps(10): sim_surv
- if c(rc) | `"`s(after)'"' == "" {
= if c(rc) | `" sim_surv"' == "" {
gettoken old : 0 , qed(qed)
if `qed' {
`version' bootstrap_8 `0'
exit
}
else if "`old'" != "" {
capture which `old'
if !c(rc) {
`version' bootstrap_8 `0'
exit
}
capture program list `old'
if !c(rc) {
`version' bootstrap_8 `0'
exit
}
}
capture syntax [, * ]
if !c(rc) {
if _caller() < 9 {
`version' bootstrap_8 `0'
exit
}
if "`e(prefix)'" != "bootstrap" {
error 301
}
`version' Display `0'
exit
}
else {
`version' bootstrap_8 `0'
exit
}
}
- preserve
- `version' BootStrap `0'
= version 9.2, missing: BootStrap a=r(a), eform reps(10): sim_surv
(running sim_surv on estimation sample)
'r(a)' evaluated to missing in full sample

-------------------------------------------------------------------------------- end bootstrap ---
r(322);




Michael McCulloch wrote:

I've written the following do-file to simulate survival data, in the
case of exponential distribution with one treatment variable (a) and
no covariates. The code works when not in a program, and returns the
specified Beta-coefficient (-0.8). May I ask for help in fine-tuning
the program? I'm getting error message: "  'r(a)' evaluated to
missing in full sample".

clear
capture program drop sim_surv
	program define sim_surv, rclass
	tempname lambda a id t
	set obs 10 //create 10 observations
	gen `id'=_n //Create ID numbers
	set seed 1235 //set random number seed for reproducibility
	gen `a'=0 + int(2*uniform()) //Generate treatment: discrete
0/1 uniform random variables
	gen `lambda'=-2
	gen `t'=(ln(uniform())/(`lambda'*exp(-0.8*`a'))) // using
Bender, 2005
	stset `t'
	stcox `t'
		indeplist, local
		foreach var of varlist `X' {
			return scalar `var' = exp(_b[`var'])
		}

end
set seed 12358
bootstrap a=r(a), eform reps(10): sim_surv

==============================================================

It seems that contents of the local macro `X' is not defined within
the program.  That may explain why the code works when not in a
program, but not in this program.

To examine such problems try:

    set tracedepth 1
    set trace on

Other advice: Tell which command in the program that gave rise to
the error message, by copying and pasting both command and response
to you mai..


Hope this helps
Svend

__________________________________________

Svend Juul
Institut for Folkesundhed, Afdeling for Epidemiologi
(Institute of Public Health, Department of Epidemiology)
Vennelyst Boulevard 6
DK-8000  Aarhus C, Denmark
Phone:  +45 8942 6090
Home:   +45 8693 7796
Email:  sj@soci.au.dk
__________________________________________


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