2017-08-28 85 views
0

我有一个由[i,j,k]定义的数据的三维数组,并希望在第三维上执行单个样本t检验,[k],测试与0的差异。理想情况下,结果将作为矩阵返回的t值大小为[i,j]。不幸的是,我不知道3D阵列的大小。T测试3D阵列

set.seed(1999) 
i <- 4; j <- 2; k <- 6 
df <- runif((i*j*k)) 
ar <- array(df, c(i, j, k)) 
+0

你能说清楚吗?数组的维度就是这个维度。你会想测试数据和数组,所以它需要有一个定义的范围...如果你说k没有其他维度,那么它是6平面深,你想从所有六个平面的数据4 2测试过,所有的数据? – sconfluentus

回答

0

如果我理解正确,请尝试以下操作。

tt <- apply(ar, 1:2, t.test) 
apply(tt, 1, function(x) lapply(x, identity))