R:将列表的深度嵌入元素提取到数组中

时间:2011-06-15 21:30:18

标签: list r lapply

我想将深度嵌入列表中的元素提取到数组中。

例如,我在每个网格点(2x2)实现t检验,并希望将t检验中的每个p值保存到2x2数组中,而不用嵌套for循环。 (我的数据集非常大。)

z <- rnorm(2*2*2)
z <- array(z, dim=c(2,2,2))

ttest <- apply(z, c(1,2), function(x) t.test(x, mu=.3, var.equal=TRUE))

ttest[[1,1]]$p.value    # extracts p-value at the first grid point.  
                        # This would be the [1,1] element in my desired array.

1 个答案:

答案 0 :(得分:2)

你想要这样的东西:

> apply( ttest, 1:2, function(z) z[[1]]$p.value)
          [,1]       [,2]
[1,] 0.9030515 0.08736825
[2,] 0.7740801 0.35580602