Использование ggpredict () и ggplot2 () с масштабированными непрерывными переменными и попытка их масштабирования - PullRequest
1 голос
/ 31 марта 2020

Я пытаюсь для смешанной модели с биномиальной функцией связи 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()

Любая помощь будет высоко ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...