The MULTTEST Procedure

Example 80.5 Inputting Raw p-Values

(View the complete code for this example.)

This example illustrates how to use PROC MULTTEST to multiplicity-adjust a collection of raw p-values obtained from some other source. This is a valuable option for those cases where PROC MULTTEST cannot compute the raw p-values directly. The data set a, which follows, contains the unadjusted p-values computed in Example 80.4. Note that the data set needs to have one variable containing the p-values, but the data set can contain other variables as well.

data a;
   input Test$ Raw_P @@;
   datalines;
test01  0.28282    test02  0.30688    test03  0.71022
test04  0.77175    test05  0.78180    test06  0.88581
test07  0.54685    test08  0.84978    test09  0.24228
test10  0.58977    test11  0.03498    test12  0.41607
test13  0.31631    test14  0.05254    test15  0.45061
test16  0.75758    test17  0.12496    test18  0.49485
test19  0.21572    test20  0.50505    test21  0.94372
test22  0.81260    test23  0.77596    test24  0.36889
;
proc multtest inpvalues=a holm hoc fdr;
run;

Note that the PROC MULTTEST statement is the only statement that can be specified with the p-value input mode. In this example, the raw p-values are adjusted by the Holm, Hochberg, and FDR methods.

The "P-Value Adjustment Information" table, displayed in Output 80.5.1, provides information about the requested adjustments and replaces the usual "Model Information" table. The adjusted p-values are displayed in Output 80.5.2

Output 80.5.1: Inputting Raw p-Values

The Multtest Procedure

P-Value Adjustment Information
P-Value AdjustmentStepdown Bonferroni
P-Value AdjustmentHochberg
P-Value AdjustmentFalse Discovery Rate


Output 80.5.2: p-Values

p-Values
TestRawStepdown BonferroniHochbergFalse Discovery
Rate
10.28281.00000.94370.9243
20.30691.00000.94370.9243
30.71021.00000.94370.9243
40.77181.00000.94370.9243
50.78181.00000.94370.9243
60.88581.00000.94370.9243
70.54691.00000.94370.9243
80.84981.00000.94370.9243
90.24231.00000.94370.9243
100.58981.00000.94370.9243
110.03500.83950.83950.6305
120.41611.00000.94370.9243
130.31631.00000.94370.9243
140.05251.00000.94370.6305
150.45061.00000.94370.9243
160.75761.00000.94370.9243
170.12501.00000.94370.9243
180.49491.00000.94370.9243
190.21571.00000.94370.9243
200.50511.00000.94370.9243
210.94371.00000.94370.9437
220.81261.00000.94370.9243
230.77601.00000.94370.9243
240.36891.00000.94370.9243


Note that the adjusted p-values for the Hochberg method are less than or equal to those for the Holm (Step-down Bonferroni) method. In turn, the adjusted p-values for the FDR method (False Discovery Rate) are less than or equal to those for the Hochberg method. These comparisons hold generally for all p-value configurations. The FDR method controls the false discovery rate and not the familywise error rate. The Hochberg method controls the familywise error rate under independence. The Holm method controls the familywise error rate without assuming independence.