如何使用 nparcomp 包从 Tukey 的多重比较中提取紧凑的字母显示?

How can I extract the compact letter display from a Tukey's multiple comparison using the nparcomp package?

multcomp 包内置了一个很好的紧凑字母显示功能,但我使用的是非参数多重比较包 "nparcomp",它似乎没有类似的功能。我注意到有几个包(例如 multcompView 和 rcompanion)具有 CLD 功能,但我不确定如何让我的 nparcomp 摘要与这些工具合作。也许这里有人可以帮助我?以下是 nparcomp Tukey 测试的示例摘要:

library(nparcomp)
pristineraw.tukey <- mctp(positif.prop.total ~ dose.log, data = pristineraw, type = "Tukey", conf.level = 0.95, asy.method = "fisher", info = FALSE)
pristineraw.tukey

$Data.Info
                Sample Size    Effect      Lower     Upper
1                   -4    4 0.7812500 0.65095081 0.8724403
2    -2.95860731484178    2 0.8229167 0.68706660 0.9077133
3    -1.99567862621736    4 0.6145833 0.49050216 0.7253656
4   -0.999565922520681    4 0.4166667 0.33069961 0.5080188
5 4.34272768626649e-05    4 0.1562500 0.08581288 0.2675807
6      1.0000043429231    2 0.2083333 0.12491776 0.3266579

$Contrast
       1  2  3  4  5 6
2 - 1 -1  1  0  0  0 0
3 - 1 -1  0  1  0  0 0
4 - 1 -1  0  0  1  0 0
5 - 1 -1  0  0  0  1 0
6 - 1 -1  0  0  0  0 1
3 - 2  0 -1  1  0  0 0
4 - 2  0 -1  0  1  0 0
5 - 2  0 -1  0  0  1 0
6 - 2  0 -1  0  0  0 1
4 - 3  0  0 -1  1  0 0
5 - 3  0  0 -1  0  1 0
6 - 3  0  0 -1  0  0 1
5 - 4  0  0  0 -1  1 0
6 - 4  0  0  0 -1  0 1
6 - 5  0  0  0  0 -1 1

$Analysis
      Estimator  Lower  Upper Statistic    p.Value
2 - 1     0.042 -0.431  0.496     0.343 0.99761714
3 - 1    -0.167 -0.586  0.323    -1.381 0.69088411
4 - 1    -0.365 -0.648  0.007    -4.062 0.05318202
5 - 1    -0.625 -0.867 -0.144    -5.151 0.02076608
6 - 1    -0.573 -0.838 -0.090    -4.801 0.02785983
3 - 2    -0.208 -0.609  0.277    -1.763 0.50620162
4 - 2    -0.406 -0.688 -0.019    -4.320 0.04250191
5 - 2    -0.667 -0.894 -0.164    -5.205 0.02026988
6 - 2    -0.615 -0.866 -0.115    -4.930 0.02523067
4 - 3    -0.198 -0.583  0.260    -1.775 0.50151321
5 - 3    -0.458 -0.746 -0.026    -4.365 0.04027067
6 - 3    -0.406 -0.712  0.028    -3.880 0.06346250
5 - 4    -0.260 -0.561  0.101    -2.997 0.14893258
6 - 4    -0.208 -0.559  0.206    -2.078 0.37679610
6 - 5     0.052 -0.380  0.466     0.476 0.99043710

$Analysis.Inf
        Estimator      Lower        Upper  Statistic    p.Value
2 - 1  0.04166667 -0.4310816  0.496466660  0.3426000 0.99761714
3 - 1 -0.16666667 -0.5861671  0.323305915 -1.3807046 0.69088411
4 - 1 -0.36458333 -0.6475061  0.006668684 -4.0618961 0.05318202
5 - 1 -0.62500000 -0.8671346 -0.143918870 -5.1509655 0.02076608
6 - 1 -0.57291667 -0.8375693 -0.090485809 -4.8010534 0.02785983
3 - 2 -0.20833333 -0.6088821  0.276867328 -1.7626807 0.50620162
4 - 2 -0.40625000 -0.6877026 -0.018637527 -4.3195377 0.04250191
5 - 2 -0.66666667 -0.8944430 -0.164222955 -5.2046137 0.02026988
6 - 2 -0.61458333 -0.8659606 -0.115293472 -4.9298694 0.02523067
4 - 3 -0.19791667 -0.5834144  0.260362074 -1.7746828 0.50151321
5 - 3 -0.45833333 -0.7460603 -0.026382368 -4.3654031 0.04027067
6 - 3 -0.40625000 -0.7115636  0.028113118 -3.8797113 0.06346250
5 - 4 -0.26041667 -0.5608547  0.100626889 -2.9973930 0.14893258
6 - 4 -0.20833333 -0.5594223  0.206138515 -2.0776563 0.37679610
6 - 5  0.05208333 -0.3804685  0.465937204  0.4758687 0.99043710

$Overall
  Quantile    p.Value
1 4.132777 0.02026988

$input
$input$formula
positif.prop.total ~ dose.log

$input$data
    dose positif negatif dead totalNb positif.prop.total      dose.log
1  0e+00      17      20    0      37         0.45945946 -4.000000e+00
2  0e+00      23      16    0      39         0.58974359 -4.000000e+00
3  0e+00      18      15    0      33         0.54545455 -4.000000e+00
4  0e+00      14      14    1      28         0.50000000 -4.000000e+00
5  1e-03      19      19    1      38         0.50000000 -2.958607e+00
6  1e-03      20      14    4      34         0.58823529 -2.958607e+00
7  1e-02      22      16    0      38         0.57894737 -1.995679e+00
8  1e-02      18      19    0      37         0.48648649 -1.995679e+00
9  1e-02      15      22    2      37         0.40540541 -1.995679e+00
10 1e-02      11      20    4      31         0.35483871 -1.995679e+00
11 1e-01      12      20    0      32         0.37500000 -9.995659e-01
12 1e-01      12      17    4      29         0.41379310 -9.995659e-01
13 1e-01       8      26    3      34         0.23529412 -9.995659e-01
14 1e-01       5      18   11      23         0.21739130 -9.995659e-01
15 1e+00       3      16   10      19         0.15789474  4.342728e-05
16 1e+00       1      16    5      17         0.05882353  4.342728e-05
17 1e+00       2      24    9      26         0.07692308  4.342728e-05
18 1e+00       7      23    6      30         0.23333333  4.342728e-05
19 1e+01       3      10    8      13         0.23076923  1.000004e+00
20 1e+01       2      20    8      22         0.09090909  1.000004e+00

$input$type
[1] "Tukey"

$input$conf.level
[1] 0.95

$input$alternative
[1] "two.sided"

$input$asy.method
[1] "fisher"

$input$plot.simci
[1] FALSE

$input$control
NULL

$input$info
[1] FALSE

$input$rounds
[1] 3

$input$contrast.matrix
NULL

$input$correlation
[1] FALSE

$input$effect
[1] "unweighted"

$input$const
[1] 0.5875441


$text.Output
[1] "True differences of relative effects are not equal to 0"

$text.output.W
[1] "Global Pseudo Ranks"

$connames
 [1] "2 - 1" "3 - 1" "4 - 1" "5 - 1" "6 - 1" "3 - 2" "4 - 2" "5 - 2" "6 - 2"
[10] "4 - 3" "5 - 3" "6 - 3" "5 - 4" "6 - 4" "6 - 5"

$AsyMethod
[1] "Fisher with 5 DF"

attr(,"class")
[1] "mctp"

您可以在包 rcompanion 中使用 cldList。您没有提供可重现的数据,所以我将使用 R 中包含的鸢尾花数据集:

data(iris)
library(rcompanion)
library(nparcomp)
iris.mc <- mctp(Sepal.Length~Species, iris)
comp <- iris.mc$connames
pv <- iris.mc$Analysis$p.Value
cldList(comparison=comp, p.value=pv)
#   Group Letter MonoLetter
# 1     2      a        a  
# 2     3      b         b 
# 3     1      c          c