clear set obs 100000 generate x0 = rnormal() generate x = rnormal() generate count = x > x0 forvalues i = 1/10 { local j = `i' + 1 replace x0 = x if count == `i' replace x = rnormal() if count == `i' replace count = `j' if x > x0 } tabulate count forvalues i=1/10 { display (`i'-1)/exp(lnfactorial(`i')) } summarize x0 histogram count, discrete histogram x0 clear set obs 1000000 generate x0 = runiform() generate x = runiform() generate count = x > x0 forvalues i = 1/10 { local j = `i' + 1 replace x0 = x if count == `i' replace x = runiform() if count == `i' replace count = `j' if x > x0 } tabulate count summarize x0 histogram count, discrete histogram x0 clear set obs 100000 generate x0 = rexponential(1) generate x = rexponential(1) generate count = x > x0 *summarize count, mean *while r(sum) > 0 { forvalues i = 1/10 { local j = `i' + 1 replace x0 = x if count == `i' replace x = rexponential(1) if count == `i' replace count = `j' if x > x0 } tabulate count summarize x0 histogram count, discrete histogram x0 clear set obs 1000000 generate x0 = rexponential(1) generate x = rexponential(1) generate count = x < x0 forvalues i = 1/10 { local j = `i' + 1 replace x0 = x if count == `i' replace x = rexponential(1) if count == `i' replace count = `j' if x < x0 } tabulate count summarize x0 histogram count, discrete histogram x0