The first example is of income of four married couples from table 16.1. First we create a data set of four variables with 256 observations of table 16.2 using the command cross. Then we use the egen command to generate a variable with the mean across each row.
input a1
6
-3
5
3
end
save a1
rename a1 a2
save a2
rename a2 a3
save a3
rename a3 a4
save a4
use a1, clear
cross using a2
cross using a3
cross using a4
count
* Stata 8 code.
egen m=rmean(a1 a2 a3 a4)
* Stata 9 code.
egen m=rowmean(a1 a2 a3 a4)
list in 1/10
a1 a2 a3 a4 m
1. 6 6 6 6 6
2. -3 6 6 6 3.75
3. 5 6 6 6 5.75
4. 3 6 6 6 5.25
5. 6 -3 6 6 3.75
6. 6 5 6 6 5.75
7. 6 3 6 6 5.25
8. -3 -3 6 6 1.5
9. -3 5 6 6 3.5
10. -3 3 6 6 3
sum m
Variable | Obs Mean Std. Dev. Min Max
---------+-----------------------------------------------------
m | 256 2.75 1.748949 -3 6
di sqrt(r(Var)*255/256)
1.74553
Figure 16.1, page 498.
histogram m, xline(2.75) bin(25)
The second example of 10 married couples is based on Table 16.3, page 499. First we create a data set based on Table 16.3. Then we run Stata bootstrapping command bootstrap to get bootstrap estimate of our statistic. We save the result of in a data file called bmean. Then we use bmean to graph the frequency graph (figure 16.2).
clear
input husinc wifinc
24 18
14 17
40 35
44 41
24 18
19 9
21 10
22 30
30 23
24 15
end
label variable husinc "Husband's Income"
label variable wifinc "Wife's Income"
gen diff=husinc-wifinc
* Stata 8 code.
bs "sum diff" "r(mean)", reps(2000) saving(bmean) replace
* Stata 9 code and output.
bootstrap r(mean), reps(2000) saving(bmean, replace) nodots: summarize diff
Bootstrap results Number of obs = 10
Replications = 2000
command: summarize diff
_bs_1: r(mean)
------------------------------------------------------------------------------
| Observed Bootstrap Normal-based
| Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
_bs_1 | 4.6 1.839707 2.50 0.012 .9942402 8.20576
------------------------------------------------------------------------------
estat bootstrap, all
Bootstrap results Number of obs = 10
Replications = 2000
command: summarize diff
_bs_1: r(mean)
------------------------------------------------------------------------------
| Observed Bootstrap
| Coef. Bias Std. Err. [95% Conf. Interval]
-------------+----------------------------------------------------------------
_bs_1 | 4.6 .04165 1.8397072 .9942402 8.20576 (N)
| .8 7.9 (P)
| .6 7.8 (BC)
------------------------------------------------------------------------------
use bmean, clear
(bs: sum diff)
histogram _bs_1, ylabel(0(100)300) xlabel(-2.5(2.5)10) xline(4.6) freq bin(30)
Bootstrapping regression using the data file duncan. The results below are different from table 16.5 since the robust regression procedure in Stata switches from Huber to biweight during the calculation.
use https://stats.idre.ucla.edu/stat/stata/examples/ara/duncan, clear
(From Fox, Applied Regression Analysis. Use 'notes' command for source of data)
* Stata 8 code.
bs "rreg prestige income educ" "_b[_cons] _b[income] _b[educ]", reps(2000) saving(bsreg)replace
* Stata 9 code and output.
bootstrap _b[_cons] _b[income] _b[educ], nodots reps(2000) saving(bsreg): rreg prestige income educ
Bootstrap results Number of obs = 45
Replications = 2000
command: rreg prestige income educ
_bs_1: _b[_cons]
_bs_2: _b[income]
_bs_3: _b[educ]
------------------------------------------------------------------------------
| Observed Bootstrap Normal-based
| Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
_bs_1 | -7.494021 3.271312 -2.29 0.022 -13.90567 -1.082367
_bs_2 | .8173336 .2216021 3.69 0.000 .3830014 1.251666
_bs_3 | .4048997 .1729308 2.34 0.019 .0659615 .7438378
------------------------------------------------------------------------------
estat bootstrap, all
Bootstrap results Number of obs = 45
Replications = 2000
command: rreg prestige income educ
_bs_1: _b[_cons]
_bs_2: _b[income]
_bs_3: _b[educ]
------------------------------------------------------------------------------
| Observed Bootstrap
| Coef. Bias Std. Err. [95% Conf. Interval]
-------------+----------------------------------------------------------------
_bs_1 | -7.4940207 .3841781 3.2713122 -13.90567 -1.082367 (N)
| -13.74599 -.7356365 (P)
| -14.3746 -1.428915 (BC)
_bs_2 | .81733357 -.0648613 .22160211 .3830014 1.251666 (N)
| .3127698 1.181602 (P)
| .3954319 1.298244 (BC)
_bs_3 | .40489969 .0430808 .17293081 .0659615 .7438378 (N)
| .0976094 .7941965 (P)
| .0023464 .725504 (BC)
------------------------------------------------------------------------------
(N) normal confidence interval
(P) percentile confidence interval
(BC) bias-corrected confidence interval
Figure 16.3 (a), page 508. Confidence interval used where based of the percentile estimates.
use bsreg, clear (bs: rreg prestige income educ) histogram _bs_2, kdensity bin(30) ylabel(0 200 400) xlabel(0(.4)1.6) frequency xline(.318 .817 1.197)
histogram _bs_3, kdensity bin(30) ylabel(0 200 400) xlabel(0(.4)1.6) frequency xline(.075 .405 .771)
graph twoway scatter _bs_2 _bs_3, ylabel(0(.5)1.5) xlabel(-.25(.25)1)





