Я использую пакет emmeans и функцию emmip для построения прогнозных вероятностей из объекта clmm. Насколько я понимаю, emmip использует ggplot под капотом. Я пытаюсь построить прогнозы по уровням пары предикторов. Это только косметическая проблема, но можно ли как-то установить (или переопределить) имя переменной на графике на более читаемое значение метки?
Я нашел способ добавить метки переменных с помощью пакета sjlabelled, аналогично тому, что уже реализовано в базе R для добавления меток к уровням переменных:
library(sjlabelled)
dat$language_oth_home <- set_label(dat$language_oth_home, label = "Other Language at Home")
но emmip не распознает его.
Пример графика, который я хочу попробовать и автоматизировать с правильной маркировкой:
emmip(mmod_stundvis_fin_em, st_understand_vision_dev_2 ~ visit|language_oth_home|randomization_group) +
xlab("Visit (0 = Pre-, 1 = Post-)") +
ylab("Probability") +
scale_color_manual(name="Response Category",
labels=c("Strongly Agree", "Agree", "Disagree", "Strongly Disagree"),
values=c("#0371b1", "#91c6de", "#f4a682", "#c90120"))
Было бы хорошо автоматически отображать «Группа лечения: Контроль», а не «Группа рандомизации: Контроль», как сейчас.
Единственные альтернативы, которые я вижу, - это вручную изменить текст в приложении для редактирования изображений постфактум (что займет много времени) или изменить фактические имена переменных во фрейме данных (что также не идеально, так как это сломает много код).