我想从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"
答案 0 :(得分:1)
你可以尝试:
unlist(lapply(AD_result, function(x) x$ad[,3]))