I fitted a mixed model to Data A as follows:
model <- lme(Y~1+X1+X2+X3, random=~1|Class, method="ML", data=A)
Next, I want to see how the model fits Data B and also get the estimated residuals. Is there a function in R that I can use to do so?
(I tried the following method but got all new coefficients.)
model <- lme(Y~1+X1+X2+X3, random=~1|Class, method="ML", data=B)
The reason you are getting new coefficients in your second attempt with data=B
is that the function lme
returns a model fitted to your data set using the formula you provide, and stores that model in the variable model
as you have selected.
To get more information about a model you can type summary(model_name)
. the nlme
library includes a method called predict.lme
which allows you to make predictions based on a fitted model. You can type predict(my_model)
to get the predictions using the original data set, or type predict(my_model, some_other_data)
as mentioned above to generate predictions using that model but with a different data set.
In your case to get the residuals you just need to subtract the predicted values from observed values. So use predict(my_model,some_other_data) - some_other_data$dependent_var
, or in your case predict(model,B) - B$Y
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With