вывод cld() имеет неправильный порядок уровней факторов

#r

#r

Вопрос:

Я использую функцию R cld() с emmeans, но порядок уровней факторов в выводе отличается от того, что я установил. Перед вызовом cld() вывод by.years также находится в нужном порядке (скриншот), но когда я выполняю cld(), вывод находится в алфавитном порядке Light — Moderate — No (скриншот). Я также проверил cld.years $Grazing.intensity, уровни правильные. Есть ли способ указать порядок уровней факторов в выводе cld()? Любая помощь приветствуется.

 # sample data
plants <- structure(list(Grazing.intensity = structure(c(3L, 2L, 3L, 3L, 3L, 1L, 3L, 2L, 2L, 2L, 1L, 2L, 3L, 3L, 3L), .Label = c("Light-grazing", "Moderate-grazing", "No-grazing"), class = "factor"), Grazing.intensity1 = structure(c(3L, 2L, 3L, 3L, 3L, 1L, 3L, 2L, 2L, 2L, 1L, 2L, 3L, 3L, 3L), .Label = c("LG", "MG", "NG"), class = "factor"), Years = structure(c(1L, 1L, 1L, 2L, 2L, 2L, 1L, 2L, 2L, 1L, 1L, 1L, 2L, 1L, 2L), .Label = c("Dry-year", "Wet-year"), class = "factor"), Month = structure(c(2L, 2L, 2L, 1L, 3L, 3L, 1L, 1L, 3L, 1L, 3L, 3L, 2L, 2L, 3L), .Label = c("Aug.", "Jul.", "Sept."), class = "factor"), Plots = c(1L, 3L, 8L, 6L, 9L, 7L, 2L, 2L, 10L, 10L, 7L, 7L, 9L, 4L, 2L), Species.richness = c(8L, 6L, 10L, 11L, 9L, 5L, 7L, 13L, 10L, 6L, 5L, 5L, 14L, 8L, 10L)), class = "data.frame", row.names = c(NA, -15L))

# set the order of factor levels
plants$Grazing.intensity <- factor(plants$Grazing.intensity, levels = 
                                     c('No-grazing','Light-grazing','Moderate-grazing'))

attach(plants)
lmer.mod <- lmer(Species.richness ~ Grazing.intensity*Years   (1|Month), data = plants)

by.years <- emmeans(lmer.mod, specs = ~ Grazing.intensity:Years, by = 'Years', type = "response")

# display cld
cld.years <- cld(by.years, Letters = letters)
 

Я впервые публикую образцы данных в StackOverflow, поэтому это может быть неправильно.. Я использовал dput().

Комментарии:

1. Вы пишете код R, а не код RStudio, поэтому нет необходимости ссылаться на него в заголовке или теле вопроса.

Ответ №1:

Я решил проблему. Порядок изменен, поскольку уровни отображаются в порядке возрастания emmean. Я установил sort = FALSE , и результат был отображен в порядке по умолчанию. Я должен был более внимательно прочитать документацию.