Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down on April 23, and its replacement, is already up and running.

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

st: capturing scalars in simulation

From   Richard Hiscock <>
Subject   st: capturing scalars in simulation
Date   Sat, 23 Feb 2013 19:48:10 +1100

Hi all,
I have method comparison data with haemoglobin level measured by three methods (pathology (1 reading), meth1 (3 readings) & meth2 (3 readings)) at the same time on the same subjects. Replicates are considered exchangeable within subject/method.

As part of the analysis I am trying to create a dataset with a single reading for meth1 & meth2 which have been randomly sampled from within replicates for the subject & method. 
Then using concord[SJ 10-4 by T Steichen & N Cox] to obtain scalars for the mean difference & its SD + upper & lower limits of agreement

I then wish to simulate this so as to obtain percentile based CI for these scalars (say 1000 reps)
I have written the following program which successfully creates the datasets and when using noisily the analysis of each dataset occurs but  I am unable to capture the scalars produced by concord except for one (the mean difference [listed as r(diff)] in concord program help file). 

Any guidance would be appreciated. 

thanks Richard Hiscock

**TRY RANDOM selection from replicates 

capture program drop mysim1
*! mysim1 Bland-Altman LOA from random pairs RJH 23021013
program define mysim1, rclass
version 12.1
drop _all

use  "file location",
** data in long format with id meth replicate

*obtain random replicate for each of methods 2 & 3 (meth 1 single value)
sort id meth 
by id meth : sample 1,count

** obtain requred estimates using concord program
quietly reshape wide hb repl, i(id) j(meth)
rename hb1 meth1
rename hb2 meth2
rename hb3 meth3

keep id meth*
concord  meth2 meth1,  
return scalar ll =r(LOA_ll) 
return scalar ul =r(LOA_ul)
return scalar diff =r(diff)
return scalar sd =r(sd_diff)
return scalar n =r(N)

simulate ll =r(LOA_ll) ul =r(LOA_ul) diff =r(diff) sd =r(sd_diff) n =r(N) , reps(10) noisily : mysim1

*   For searches and help try:

© Copyright 1996–2016 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index