代码之家  ›  专栏  ›  技术社区  ›  erc

multcomp包中的plot.cld如何计算方框?

  •  -1
  • erc  · 技术社区  · 10 年前

    为了显示字母之间的显著差异,multcomp包中有一个绘图功能:

    library(multcomp)
    tuk <- glht(model, linfct = mcp(effect = "Tukey"))
    plot(cld(tuk))
    

    方框是如何计算的(即上下四分位数和胡须)?我在文件中找不到任何有关这方面的信息。

    2 回复  |  直到 10 年前
        1
  •  1
  •   shadow    10 年前

    这基本上只是一个常规 boxplot 。例如,使用 warpbreaks 数据:

    # load data
    data(warpbreaks)
    # model 
    amod <- aov(breaks ~ tension, data = warpbreaks)
    tuk <- glht(amod, linfct = mcp(tension = "Tukey"))
    # plot
    plot(cld(tuk))
    

    这与

    boxplot(breaks ~ tension, data = warpbreaks)
    # OR
    boxplot(split(warpbreaks$breaks, warpbreaks$tension))
    

    箱形图 使用 boxplot.stats ,使用 stats.fivenum 以计算必要的统计数据。注意,这与 quantile 具有的函数 probs=c(0,.25, .5, .75, 1) na.rm=TRUE .以其最简单的形式(否 NA 长度>0), fivenum 看起来像这样:

    fivenum <- function (x) 
    {
      x <- sort(x)
      n <- length(x)
      n4 <- floor((n + 3)/2)/2
      d <- c(1, n4, (n + 1)/2, n + 1 - n4, n)
      0.5 * (x[floor(d)] + x[ceiling(d)])
    }
    
        2
  •  0
  •   EDi    10 年前

    看看代码:

    plot.cld() 电话 boxplot() ,因此您要查找的信息可以在 ?boxplot.stats .