Example 43.2: Freeman-Tukey and t-Tests with Bootstrap Resampling
The data for the following example are the same as for
Example 43.1, except that a continuous variable T has been
added.
data a;
input S1 S2 T Dose;
datalines;
0 1 104 1
1 0 80 1
0 1 104 1
0 1 104 1
0 1 100 1
1 0 104 1
1 0 85 2
1 0 60 2
0 1 89 2
1 0 96 2
0 1 96 2
1 0 99 2
1 0 60 3
1 0 50 3
1 0 80 3
0 1 98 3
0 1 99 3
1 0 50 3
;
proc multtest data=a bootstrap nsample=10000
pvals seed=37081 outsamp=res;
test ft(S1 S2 / lowertailed) mean(T / lowertailed);
class Dose;
contrast 'Linear Trend' 0 1 2;
run;
proc print data=res(obs=36);
run;
The BOOTSTRAP option in the PROC MULTTEST statement requests
bootstrap resampling, and NSAMPLE=10000 requests 10,000 bootstrap
samples. The seed for the random number generation is 37081. The
OUTSAMP=RES option requests an output SAS data set containing the
10,000 bootstrap samples.
The TEST statement specifies the Freeman-Tukey test for S1 and
S2 and specifies the t-test for T. Both tests are
lower-tailed. The grouping variable in the CLASS statement is
Dose, and the coefficients across the levels of Dose are 0,
1, and 2, as specified in the CONTRAST statement. PROC PRINT displays
the first 36 observations of the Res data set containing the
bootstrap samples.
The results from this analysis are listed in Output 43.2.1.
Output 43.2.1: FT and t-tests with Bootstrap Resampling
Model Information |
Test for discrete variables: |
Freeman-Tukey |
Test for continuous variables: |
Mean t-test |
Tails for discrete tests: |
Lower-tailed |
Tails for continuous tests: |
Lower-tailed |
Strata adjustment? |
No |
P-value adjustment: |
Bootstrap |
Center continuous variables? |
Yes |
Number of resamples: |
10000 |
Seed: |
37081 |
|
The information in the preceding table corresponds to the
specifications in the invocation of PROC MULTTEST.
Contrast Coefficients |
Contrast |
Dose |
1 |
2 |
3 |
Linear Trend |
0 |
1 |
2 |
|
The preceding table shows the coefficients from the CONTRAST
statement, and they model a linear trend.
Discrete Variable Tabulations |
Variable |
Dose |
Count |
NumObs |
Percent |
S1 |
1 |
2 |
6 |
33.33 |
S1 |
2 |
4 |
6 |
66.67 |
S1 |
3 |
4 |
6 |
66.67 |
S2 |
1 |
4 |
6 |
66.67 |
S2 |
2 |
2 |
6 |
33.33 |
S2 |
3 |
2 |
6 |
33.33 |
Continuous Variable Tabulations |
Variable |
Dose |
NumObs |
Mean |
Standard Deviation |
T |
1 |
6 |
99.3333 |
9.6056 |
T |
2 |
6 |
87.5000 |
14.4326 |
T |
3 |
6 |
72.8333 |
22.7017 |
|
The summary statistics in the preceding table for S1 and
S2 are the same as those from Example 43.1. The variables
S1 and S2 are discrete, and T is a continuous
variable. The mean, standard deviation, and sample size for each
level of Dose is listed in the table for T. The
p-values for S1 and S2 are from the Freeman-Tukey
test, and the p-values for T are from the t-test.
p-Values |
Variable |
Contrast |
Raw |
Bootstrap |
S1 |
Linear Trend |
0.8547 |
1.0000 |
S2 |
Linear Trend |
0.1453 |
0.4471 |
T |
Linear Trend |
0.0070 |
0.0253 |
|
The p-values are listed in the preceding table. The Raw column
contains the results from the tests on the original data, and the
Bootstrap column contains the bootstrap resampled adjustment to
raw_p. Note that the adjusted p-values are larger than the raw
p-values for all three variables. The adjusted p-values more
accurately reflect the correlation of the raw p-values, the small
size of the data, and the multiple testing.
Obs |
_sample_ |
_class_ |
_obs_ |
S1 |
S2 |
T |
1 |
1 |
1 |
11 |
0 |
1 |
8.5000 |
2 |
1 |
1 |
16 |
0 |
1 |
25.1667 |
3 |
1 |
1 |
16 |
0 |
1 |
25.1667 |
4 |
1 |
1 |
14 |
1 |
0 |
-22.8333 |
5 |
1 |
1 |
18 |
1 |
0 |
-22.8333 |
6 |
1 |
1 |
14 |
1 |
0 |
-22.8333 |
7 |
1 |
2 |
4 |
0 |
1 |
4.6667 |
8 |
1 |
2 |
12 |
1 |
0 |
11.5000 |
9 |
1 |
2 |
8 |
1 |
0 |
-27.5000 |
10 |
1 |
2 |
7 |
1 |
0 |
-2.5000 |
11 |
1 |
2 |
3 |
0 |
1 |
4.6667 |
12 |
1 |
2 |
12 |
1 |
0 |
11.5000 |
13 |
1 |
3 |
13 |
1 |
0 |
-12.8333 |
14 |
1 |
3 |
5 |
0 |
1 |
0.6667 |
15 |
1 |
3 |
8 |
1 |
0 |
-27.5000 |
16 |
1 |
3 |
5 |
0 |
1 |
0.6667 |
17 |
1 |
3 |
13 |
1 |
0 |
-12.8333 |
18 |
1 |
3 |
6 |
1 |
0 |
4.6667 |
19 |
2 |
1 |
8 |
1 |
0 |
-27.5000 |
20 |
2 |
1 |
3 |
0 |
1 |
4.6667 |
21 |
2 |
1 |
9 |
0 |
1 |
1.5000 |
22 |
2 |
1 |
13 |
1 |
0 |
-12.8333 |
23 |
2 |
1 |
14 |
1 |
0 |
-22.8333 |
24 |
2 |
1 |
12 |
1 |
0 |
11.5000 |
25 |
2 |
2 |
14 |
1 |
0 |
-22.8333 |
26 |
2 |
2 |
18 |
1 |
0 |
-22.8333 |
27 |
2 |
2 |
15 |
1 |
0 |
7.1667 |
28 |
2 |
2 |
6 |
1 |
0 |
4.6667 |
29 |
2 |
2 |
13 |
1 |
0 |
-12.8333 |
30 |
2 |
2 |
1 |
0 |
1 |
4.6667 |
31 |
2 |
3 |
7 |
1 |
0 |
-2.5000 |
32 |
2 |
3 |
7 |
1 |
0 |
-2.5000 |
33 |
2 |
3 |
6 |
1 |
0 |
4.6667 |
34 |
2 |
3 |
13 |
1 |
0 |
-12.8333 |
35 |
2 |
3 |
4 |
0 |
1 |
4.6667 |
36 |
2 |
3 |
6 |
1 |
0 |
4.6667 |
|
The preceding table lists the first 36 observations of the SAS data
set resulting from the OUTSAMP=RES option in the PROC MULTTEST
statement. The entire data set has 180,000
observations. The _sample_ variable
is the sample indicator and _class_ indicates the resampling
group, that is, the level of the CLASS variable assigned to the new
observation. The number of the observation in the
original data set is represented by _obs_. Also listed are
the values of the original test variables, S1 and S2,
and the mean-centered values of T.
Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.