SAS - Kolmogorov-Smirnov 双边临界值
SAS - Kolmogorov-Smirnov Two Sided Critical Values
我正在尝试计算双侧 Kolmogorov-Smirnov 检验的临界值(PROC NPAR1WAY 不输出这些值!)。计算方式为 c(a) * sqrt( (n+m)/(nm) ),其中 n 和 m 是每个数据集中的观测值数量,对于置信度 a = 0.05,c(a) = 1.36。
或者,
A) SAS 中是否有例程可以为我计算这些? (我已经搜索了一段时间)或者,
B) 自己计算统计数据的最佳方法是什么?我最初的做法是select将每个数据集中的行数放入宏变量中,然后计算统计数据,但这感觉很难看。
提前致谢
A) 如果您搜索了所有相关文档,可能不会。
B) 该方法听起来不错,但如果您愿意,可以使用数据步骤,例如
data example1 example2;
set sashelp.class;
if _n_ < 6 then output example1;
else output example2;
run;
data _null_;
if 0 then set example1 nobs = n;
if 0 then set example2 nobs = m;
call symput('Kolmogorov_Smirnov_05',1.36 * sqrt((n+m)/(n*m)));
run;
%put &=Kolmogorov_Smirnov_05;
我正在尝试计算双侧 Kolmogorov-Smirnov 检验的临界值(PROC NPAR1WAY 不输出这些值!)。计算方式为 c(a) * sqrt( (n+m)/(nm) ),其中 n 和 m 是每个数据集中的观测值数量,对于置信度 a = 0.05,c(a) = 1.36。
或者,
A) SAS 中是否有例程可以为我计算这些? (我已经搜索了一段时间)或者,
B) 自己计算统计数据的最佳方法是什么?我最初的做法是select将每个数据集中的行数放入宏变量中,然后计算统计数据,但这感觉很难看。
提前致谢
A) 如果您搜索了所有相关文档,可能不会。
B) 该方法听起来不错,但如果您愿意,可以使用数据步骤,例如
data example1 example2;
set sashelp.class;
if _n_ < 6 then output example1;
else output example2;
run;
data _null_;
if 0 then set example1 nobs = n;
if 0 then set example2 nobs = m;
call symput('Kolmogorov_Smirnov_05',1.36 * sqrt((n+m)/(n*m)));
run;
%put &=Kolmogorov_Smirnov_05;