#r #plot #lme4 #emmeans
#r #график #lme4 #emmeans
Вопрос:
Я пытаюсь выяснить, как настроить график, созданный plot.CLD
функцией на выходе emmeans
. Функция plot создает хороший график по умолчанию, но, похоже, он не разделяет параметры настройки plot.cld
. Кроме того, я не могу найти никакой документации plot.CLD
, только plot.cld
. Я специально хочу добавить отображение компактных букв в качестве меток данных на графике. Я также хотел бы переключить переменные xvar и yvar для поворота графика.
Я использую lmer
модель смешанного эффекта для некоторых весовых данных. Я хочу вычислить и отобразить компактное буквенное отображение emmeans
вывода с настройкой по Тьюки. Функция cld была разработана для glht
данных типа, которые можно визуализировать с помощью plot.cld
. cld
Функция была перенесена в emmeans
пакет как CLD
.
plot.CLD
Функция активна, но не была задокументирована в emmeans
пакете. Настройка plot.cld
была задокументирована, но аналогичной документации нет plot.CLD
. Я попробовал plot.cld
свой emmeans
объект, но он не был совместим. Единственные функции, которые я смог изменить, — это xlab=
and ylab=
. Как ни странно, plot.CLD
требуется пакет multcompView
, но нет документации об этой функции.
library(lme4)
library(lmerTest)
library(multcomp)
library(multcompView)
#Generating means
attach(dataX)
x = lmer(plant_kg_cum2~ (genotype) (1|rep) )
emmeans(x, list(pairwise~genotype), adjust="tukey", ddf="Satterthwaite", level = 0.95)->emmeans1
#producing compact letter display
cld(emmeans1, sort=FALSE, Letters=c("ABCDEFGHIJKL",LETTERS, letters), which=1) ->CLD1
#plot the compact letter display
plot(CLD1, xlab="kg", ylab="Genotype")
Я даже пытался добавить заголовок, используя main="title"
, но даже это не увенчалось успехом. Я попытался переключить xvar и yvar в моем фрейме данных, чтобы переориентировать график, изменив порядок столбцов или используя команды x=
and y=
. Все выдавали ошибки, указывающие на то, что он создал NAs.
Комментарии:
1. CLD создает объект summary.emmGrid, который является расширением data.frame. Не существует класса CLD и, очевидно, нет метода plot для класса, который даже не существует. Следовательно, нет способа настроить такой график. Я думаю, если вам нужен такой график, вы можете создать объект glht и использовать любой метод построения графика, предлагаемый пакетом multcomp.
2. Я добавлю, что предоставление функции CLD — это то, о чем я больше всего сожалею, когда-либо предоставлял в lsmeans / emmeans. Он реализует опрометчивый подход к тестированию значимости и способствует неправильному толкованию, при котором средние, сравнения которых имеют значения P, превышающие 0,05, изображаются как равные. В свете недавних заявлений ASA, содержащих еще более строгие рекомендации относительно рутинного статистического тестирования, мой план состоит в том, чтобы отказаться от CLD в будущих обновлениях. Я рассматриваю альтернативные способы отображения попарных сравнений.