Я пытаюсь построить маржинальных эффектов для смешанной модели с биномиальной функцией связи lo git.
Моя проблема в том, что я изначально запускаю модель с масштабированными непрерывными переменными, которые затем использую в функции ggpredict()
.
Однако, когда я пытаюсь нанести на карту предельные эффекты, ось x для предельных эффектов использует масштабированные переменные, и я хотел бы построить ее с исходными непрерывными немасштабированными данными. Тем самым делая его более понятным.
Я не уверен, как это сделать. Я приложил минимальный воспроизводимый пример.
#data
dat <- data.frame(age = seq(1,5, by = 1),
sex = as.factor(c("M", "F")),
cluster = runif(20, min=0, max=100),
household = runif(50, min=0, max=100),
temp = runif(100, min=0, max=100),
prec = runif(100, min=0, max=100),
hum = runif(100, min=0, max=100),
disease = c(1,0))
#scale continuous variables
pvars <- c("temp", "prec", "hum")
datsc <- dat
datsc[pvars] <- lapply(datsc[pvars],scale)
#setting the control to run faster
contr1 <- glmerControl(optimizer = "nloptwrap", calc.derivs = FALSE)
#run glmer model
model1 <- glmer(disease ~ hum + temp + prec + (1|cluster/household),
family = binomial("logit"),
data = datsc, control = contr1)
modelsummary<- summary(model1)
#calculate marginal effects
humidity <- data.frame(ggpredict(model1, term = "hum [all]", type = "fe"))
humidity_plot <- ggplot(data=humidity, aes(x=x, y=predicted)) +
geom_line(size = 1) +
geom_ribbon(aes(ymin=conf.low, ymax=conf.high, fill = group), linetype=2, alpha=0.1) +
scale_y_continuous(limits = c(0, 1), breaks = c(seq(0,1, by = 0.2))) +
xlab("Humidity") +
ylab("Probability of Disease") + theme_classic()
Любая помощь будет высоко ценится.