如何计算R中一个样本的测试

时间:2015-02-21 11:30:35

标签: r

我有一个矩阵,我想分别计算每列的Kolmogorov-Smirnov检验。

让我们说我的矩阵如下

    Name    A    Name        B       Name       C         Name       D
1007_s  -0.2815  1007_s_  -0.2032   1007_s_at  -0.2539  1007_s_at   0.0410
1053_at -0.0113  1053_at   0.0285   1053_at    -0.0675  1053_at     0.0048
117_at  -0.0448  117_at   -0.1360   117_at     -0.2189  117_at      0.0637
121_at  -0.0810  121_at    0.1412   121_at      0.0464  121_at      -0.0180
1255_g  0.0486   1255_g   -0.0239   1255_g_at   0.0753  1255_g_at   -0.0670
1294_at -0.1090  1294_at  -0.1266   1294_at    -0.3023  1294_at     0.0101
1316_at -0.0389  1316_at   0.0915   1316_at    -0.1352  1316_at     0.1189
1320_at 0.0147   1320_at  -0.0064   1320_at     0.0090  1320_at    -0.0411
1405_i_ 0.0000   1405_i_   0.2178   1405_i_at   -0.3024 1405_i_at   0.2265
1431_at 0.0318   1431_a    0.0556   1431_at     -0.0434 1431_at     -0.0180 

1 个答案:

答案 0 :(得分:2)

如果您只需要统计数据和p值:

  f <- function(x) unlist(ks.test(x,"punif")[1:2])
  apply(x[,seq(1,7,by=2)],2,f)

这是输出:

                       A           B            C            D
statistic.D 9.514000e-01 7.82200e-01 9.247000e-01 7.811000e-01
p.value     1.471046e-13 5.48744e-07 1.172162e-11 1.003735e-05
Warning message:
In ks.test(x, "punif") :
  ties should not be present for the Kolmogorov-Smirnov test

"punif"替换为您需要的任何cdf(例如标准法线"pnorm")。

如果您需要在列表中进行整个测试,只需省略[1:2]unlist