
Marcos, Eu não sei te dizer o que mudou na mulcomp::cld() mas na época dessa matéria ela devia funcionar. Para situações semelhantes a essa do fatorial, eu acabei fazendo uma cópia da cld() e modifiquei algumas coisas para que pudesse usá-la. Ela está disponível no fonte de um pacote onde mantenho uma miscelânea de funções: github.com/walmes/wzRfun. O código abaixo usa a cld2() que é a cópia que mencionei. # source(" https://raw.githubusercontent.com/walmes/wzRfun/master/R/pairwise.R") # cld2(c0) # Função disponível no pacote wzRfun: github.com/walmes/wzRfun. cld2 <- function(object, level = 0.05) { lvl_order <- unique(unlist( strsplit(rownames(object$linfct), "-"))) signif <- (object$test$pvalues < level) ret <- list() ret$signif <- signif ret$comps <- do.call(rbind, strsplit(rownames(object$linfct), "-")) # Modificação feita aqui. ret$mcletters <- multcomp:::insert_absorb(x = signif, decreasing = FALSE, comps = ret$comps, lvl_order = lvl_order) class(ret) <- "cld" return(ret) } cld2(c0) result$cld <- cld2(c0)$mcletters$Letters result[with(result, order(Estimate)), ] ordered_cld <- function(x) { s <- strsplit(x, "") ul <- unique(unlist(s)) UL <- toupper(sort(ul, decreasing = TRUE)) l <- sapply(s, FUN = function(i) { tolower(paste(sort(UL[match(i, table = ul)]), collapse = "")) }) return(l) } # Ordena o vetor de letras pelas médias dos tratamentos. v <- result[with(result, order(Estimate)), ]$cld result$cld <- ordered_cld(v) À disposição. Walmes.