从Anderson-Darling测试中提取统计数据(列表)

时间:2016-07-14 12:46:56

标签: r lapply

我想从Anderson-Darling测试中提取p值(来自包kSamples的ad.test)。测试结果是包含2x3矩阵的12的列表。 p值是2x3矩阵的一部分,存在于元素7中。

使用以下代码时:

lapply(AD_result,  "[[", 7)

我得到以下AD测试结果子集(显示总共50个中的前2个)

[[1]]
             AD    T.AD  asympt. P-value
version 1: 1.72 0.94536          0.13169
version 2: 1.51 0.66740          0.17461

[[2]]
               AD   T.AD  asympt. P-value
version 1: 12.299 14.624       6.9248e-07
version 2: 11.900 14.144       1.1146e-06

我的问题是如何仅提取p值(例如从版本1中提取)并将这50个结果放入向量

str(AD_result)的输出是:

List of 55
 $ :List of 12
  ..$ test.name : chr "Anderson-Darling"
  ..$ k         : int 2
  ..$ ns        : int [1:2] 103 2905
  ..$ N         : int 3008
  ..$ n.ties    : int 2873
  ..$ sig       : num 0.762
  ..$ ad        : num [1:2, 1:3] 1.72 1.51 0.945 0.667 0.132 ...
  .. ..- attr(*, "dimnames")=List of 2
  .. .. ..$ : chr [1:2] "version 1:" "version 2:"
  .. .. ..$ : chr [1:3] "AD" "T.AD" " asympt. P-value"
  ..$ warning   : logi FALSE
  ..$ null.dist1: NULL
  ..$ null.dist2: NULL
  ..$ method    : chr "asymptotic"
  ..$ Nsim      : num 1
  ..- attr(*, "class")= chr "kSamples"

1 个答案:

答案 0 :(得分:1)

你可以尝试:

unlist(lapply(AD_result, function(x) x$ad[,3]))