我在 R 中有两个矩阵 A 和 B,行数相同,但列数不同。
我想运行一个柯尔莫哥洛夫-斯米尔诺夫检验 https://stat.ethz.ch/R-manual/R-devel/library/stats/html/ks.test.html每个矩阵逐行。也就是说,第一个测试是ks.test(as.vector(A[1,]), as.vector(B[1,])
,第二个是ks.test(as.vector(A[2,]), as.vector(B[2,])
等等。理想情况下,将每个测试的结果存储在向量或数据框中。
我估计mapply
是合适的,但它总是给我带来比预期更多的结果。我认为它是逐个元素而不是逐行执行测试。这是我的代码块:mapply(ks.test, x=A, y=B)
当我简单地运行时,仅测试第一行并不能按预期工作:mapply(ks.test, x=as.vector(A[1,]), y=as.vector(B[1,]))
如何获得所需的 N 输出p-values其中 N 是我的原始矩阵的行数。?
这是我的每个矩阵的第一行的样子:
> A[1,]
[1] 0 0 0 0 0 0 0 0 0
> B[1,]
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19 V20 V21 V22 V23 V24 V25 V26 V27 V28 V29 V30 V31 V32 V33 V34 V35 V36
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0