Dear Statalisters,
as an alternative to - simulate - , I have written the following do file
(for Stata 9.2/SE) to draw 2000 random samples, 20 observations each, from a
normal distribution:
drop _all
set more off
set obs 2000
obs was 0, now 2000
g double ln_g_20=.
g double ln_sd_g_20=.
set seed 999
qui gen A=5.37 + 1.19*invnorm(uniform()) in 1/972
qui forvalues i = 1(1)2000 {
qui gen ln_20`i'=A
qui generate random`i' = uniform()
qui sort random`i'
qui generate insample`i' = _n <= 20
qui sum ln_20`i' if insample`i' == 1
replace ln_g_20=r(mean) in `i'
replace ln_sd_g_20=r(sd) in `i'
drop ln_20`i'
drop random`i'
drop insample`i'
}
drop A
However, as a result I have obtained 1721 observations instead of the
expected 2000.
sum ln_g_20 ln_sd_g_20
Variable | Obs Mean Std. Dev. Min Max
-------------+--------------------------------------------------------
ln_g_20 | 1271 5.314033 .3800687 3.79247 6.587941
ln_sd_g_20 | 1271 1.101084 .2835007 .0260279 2.161299
Besides, results are even more puzzling when I increase the number of
samples (again 20 observations each), in that I get a different number of
observation for ln_g and ln_sd_g.
Comments are gratefully acknowledged.
Thanks a lot for your kindness and for your time.
Kind Regards,
Carlo
*
* 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/