1
I am trying to perform the residue graph of the mixed effects model by means of the ggplot2 function. However, after performing a search I found some available functions but what seems to me is that for the function nlme they are not working.
The graphics I intend to perform are those of the example below:
The data is here.
Dice: https://drive.google.com/file/d/19mykz4B7jkTilbtwPQb3NUI09YZwohhs/view?usp=sharing
The computational routines I initially tried are below, see the errors that are appearing when performing the function in ggplot2.
library(splines)
library(ggplot2)
library(nlme)
library(gridExtra)
setwd("C:\\Users\\Desktop")
datanew1 = read.table("dadosnew.csv", header = T, sep=";", dec = ",")
datanew1$DummyVariable = as.factor(datanew1$DummyVariable)
datanew1$Variable2 = as.factor(datanew1$Variable2)
datanew1$Variable3 = as.factor(datanew1$Variable3)
#############################################################################
############################## Model ########################################
#############################################################################
model <- lme(Response~(bs(Variable1, df=3)) + DummyVariable,
random=~1|Variable2/Variable3, datanew1, method="REML")
completemodel <- update(model, weights = varIdent(form=~1|DummyVariable))
p1 <- qplot(.fitted, .resid, data = completemodel) +
geom_hline(yintercept = 0) +
geom_smooth(se = FALSE)
Erro: `data` must be a data frame, or other object coercible by `fortify()`, not an S3 object with class lme
Run `rlang::last_error()` to see where the error occurred.
p2 <- qplot(sample =.stdresid, data = completemodel, stat = "qq") + geom_abline()
grid.arrange(p1,p2)
Erro: `data` must be a data frame, or other object coercible by `fortify()`, not an S3 object with class lme
Run `rlang::last_error()` to see where the error occurred.
Além disso: Warning message:
`stat` is deprecated
Another way in which I tried to carry out the chart was with the function below, but I did not succeed.
ggplot(completemodel, aes(.fitted, .resid)) + geom_point()
Erro: `data` must be a data frame, or other object coercible by `fortify()`, not an S3 object with class lme
Run `rlang::last_error()` to see where the error occurred.
Thank you so much for the @Jorgemendes solution!!
– user55546