我想确保我已经针对多个测试进行了适当的调整,这是我通过排列进行的。我不想过度调整,所以我只想包括先验指定的比较。这是一个与我正在分析的数据集在结构上相似的数据集:
data test;
call streaminit(1234);
do a=1 to 5;
do b=1 to 2;
do i = 1 to 8;
censored = rand('BERNOULLI',0.5);
if censored = 0 then ttd = rand('NORMAL',10);
else ttd = 30;
id = 16*(A-1)+8*(B-1)+i;
output;
end;
end;
end;
drop i;
run;
如果我有兴趣比较每个级别a
和b
其他级别,我会运行以下命令:
proc lifetest data=test;
time ttd * censored(1);
strata a b / diff=all adjust=simulate(nsamp=1000000 seed=1234);
run;
相反,我想将每个级别与内a
的每个其他级别进行比较(2 个级别的 10 次比较进行 20 次比较)。最重要的是,我想比较每个级别(5个比较)中的两个级别。所以总共有 25 次比较我必须调整,但是像我在上面的代码中所做的那样调整所有的成对比较占了 45 次比较。有没有办法只指定我感兴趣的 25 个成对比较?如果没有,有没有办法解决这个问题,所以我可以针对我感兴趣的 25 个比较进行事后调整?a
b
b
a
proc lifetest
虽然这是一个非常与统计相关的问题,但主要问题是关于特定于 SAS 编程的问题,而不是关于使用哪些方法或所选方法的适当性,所以我将它发布在这里而不是交叉验证,尽管我承认外部的事后调整proc lifetest
可能是可行的方法,因此也愿意让 Cross Validated 尝试一下。