R: sjp.glmer изменяет предел по оси X, метку по оси Y с процентного значения на десятичное и цвета доверительной полосы

Я давно пользуюсь пакетом sjPlot в R, и мне это очень нравится. Однако недавно я столкнулся с некоторыми проблемами, которые я не могу понять сам.

(1) Используя sjp.glmer(fe.prob), метки / интервалы по оси x, кажется, получаются из фиксированного фактора, который должен быть нанесен на график. Я могу изменить предел по оси Y, используя 'axis.lim', однако я изо всех сил пытаюсь изменить пределы по оси X.

(2) Со времени последнего обновления (10.1.17, я думаю), цветовая схема была немного изменена. В результате я едва вижу свои уверенности в себе. Теоретически я мог бы изменить фон, чтобы сделать их более заметными. Тем не менее, я ищу, чтобы изменить реальный цвет полос доверия. Я подозреваю, что это можно изменить с помощью sjp.setTheme, но я просто не могу понять, как.

(3) Также с момента последнего обновления (я думаю), ось Y для sjp.glmer типа "fe.prob" помечается в процентах (от 1% до 100%), а не в десятичных числах (от 0 до 1). Любые намеки, как я могу переключить его обратно в десятичные?

Вот пример строки:

sjp.glmer(Model, 
          type = "fe.prob",
          vars = "Var1", 
          show.scatter = FALSE, 
          geom.colors = "Black", 
          width = 7.9, height = 6.8, 
          facet.grid = FALSE, 
          show.ci = TRUE, 
          axis.lim = c(0,1)) 

Ниже приведены также мои настройки Sjp.SetTheme.

Я надеюсь, что это иллюстрирует проблемы: Пример рисунка

Любая помощь приветствуется.

Бест, С

sjp.setTheme(base = theme_grey(),
             geom.outline.color = "black",
             theme.font = 'Times',
             geom.outline.size = 1, 
             geom.label.size = 2,
             geom.label.color = "black",
             title.color = "black", 
             title.size = 1.0, 
             axis.title.size = 1.0,
             axis.title.color =  "black",
             axis.angle.x = 0,
             axis.textsize.x = 1.0,
             axis.textsize.y = 1.0,
             axis.textcolor = "black")

1 ответ

Решение

Запрошенные проблемы не могут быть изменены напрямую через sjp.glmer - однако, вы можете использовать возвращенный объект ggplot для дальнейших манипуляций.

library(sjPlot)
library(lme4)
library(ggplot2)
library(sjmisc)

# create binary response
sleepstudy$Reaction.dicho <- dicho(sleepstudy$Reaction, dich.by = "median")
# fit model
fit <- glmer(Reaction.dicho ~ Days + (Days | Subject),
             data = sleepstudy, family = binomial("logit"))

p <- sjp.glmer(fit, type = "fe.prob", vars = "Days", 
               show.scatter = FALSE, geom.colors = "Black", 
               facet.grid = FALSE, show.ci = TRUE)

# get first plot of all created plots (in this case, just one plot)
# and change x-axis-limits and use another metric on y-scale
p$plot.list[[1]] + xlim(0, 4) + scale_y_continuous(limits = c(0, 1))

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

Тем не менее, доверительные полосы имеют очень высокую прозрачность, но я не совсем уверен, как изменить альфа-уровень для stat_smooth. Я буду искать решение...

Другие вопросы по тегам