Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Partial residual plots for linear model including an interaction term

Tags:

plot

r

statistics

My model includes one response variable, five predictors and one interaction term for predictor_1 and predictor_2. I would like to plot partial residual plots for every predictor variable which I would normally realize using the crPlots function from the package car. Unfortunately the function complains that it doesn't work with models that include interaction terms.

Is there another way of doing what I want?

EDIT: I created a small example illustrating the problem

require(car)
R <-  c(0.53,0.60,0.64,0.52,0.75,0.66,0.71,0.49,0.52,0.59)
P1 <- c(3.1,1.8,1.8,1.8,1.8,3.2,3.2,2.8,3.1,3.3)
P2 <- c(2.1,0.8,0.3,0.5,0.4,1.3,0.5,1.2,1.6,2.1)

lm.fit1 <- lm(R ~ P1 + P2)
summary(lm.fit1)
crPlots(lm.fit1) # works fine

lm.fit2 <- lm(R ~ P1*P2)
summary(lm.fit2)
crPlots(lm.fit2) # not available
like image 896
ChrKoenig Avatar asked Oct 27 '25 01:10

ChrKoenig


1 Answers

Another way to do this is to put the interaction term in as a separate variable (which avoids hacking the code for crPlot(...)).

df <- data.frame(R,P1,P2,P1.P2=P1*P2)
lm.fit1 <- lm(R ~ ., df)
summary(lm.fit1)
crPlots(lm.fit1)

Note that summary(lm.fit1) yeilds exactly the same result as summary(lm(R~P1*P2,df)).

like image 113
jlhoward Avatar answered Oct 28 '25 16:10

jlhoward



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!