Как изменить параметры фасета с помощью sjPlot plot_model с несколькими модераторами или взаимодействиями

У меня есть сюжет, на котором я хотел бы показать модели того, как три термина связаны между собой в трех разных категориальных подгруппах. sjPlot::plot_model автоматически создает своего рода фасетирование с тремя графиками в одном ряду. В общем, это хорошо работает. Однако для презентации у меня есть несколько других графиков, которые имеют четыре подгруппы и построены в сетке два на два. Чтобы ось Y существенно не отличалась, я хотел бы изменить фасетирование 1x3 на фасетирование 2x2 с чем-то вроде двух графиков в одной строке и одного графика во второй строке. Я безуспешно пытался добавить + facet_wrap(). Может ли кто-нибудь предложить способ преобразования объекта 1x3 plot_model в график 2x1 / 1x1? В идеале все еще есть только один заголовок оси X, один заголовок оси Y и одна легенда.

# example of 1x3 plot_model output
mtcars %>% 
  mutate(cyl_fct = as.factor(cyl)) %>% 
  lm(mpg ~ wt * vs * cyl_fct, data = .) %>% 
  plot_model(type = "pred", terms = c("wt", "vs", "cyl_fct"))

пример графика plot_model 1x3


person Omar Wasow    schedule 21.03.2021    source источник


Ответы (1)


Измените параметр nrow фасетной части внутри графического объекта.

x=mtcars %>% 
  mutate(cyl_fct = as.factor(cyl)) %>% 
  lm(mpg ~ wt * vs * cyl_fct, data = .) %>% 
  plot_model(type = "pred", terms = c("wt", "vs", "cyl_fct")) 

x$facet$params$nrow=2

x

введите описание изображения здесь

person Jellyfish    schedule 21.03.2021