Jake - 7 months ago 19

R Question

In an effort to help populate the R tag here, I am posting a few questions I have often received from students. I have developed my own answers to these over the years, but perhaps there are better ways floating around that I don't know about.

The question: I just ran a regression with continuous

`y`

`x`

`f`

`levels(f)`

`c("level1","level2")`

`thelm <- lm(y~x*f,data=thedata)`

Now I would like to plot the predicted values of

`y`

`x`

`f`

My answer: Try the

`predict()`

`##restrict prediction to the valid data`

##from the model by using thelm$model rather than thedata

thedata$yhat <- predict(thelm,

newdata=expand.grid(x=range(thelm$model$x),

f=levels(thelm$model$f)))

plot(yhat~x,data=thethedata,subset=f=="level1")

lines(yhat~x,data=thedata,subset=f=="level2")

Are there other ideas out there that are (1) easier to understand for a newcomer and/or (2) better from some other perspective?

Recommended for you: Get network issues from **WhatsUp Gold**. **Not end users.**

Answer Source

The effects package has good ploting methods for visualizing the predicted values of regressions.

```
thedata<-data.frame(x=rnorm(20),f=rep(c("level1","level2"),10))
thedata$y<-rnorm(20,,3)+thedata$x*(as.numeric(thedata$f)-1)
library(effects)
model.lm <- lm(formula=y ~ x*f,data=thedata)
plot(effect(term="x:f",mod=model.lm,default.levels=20),multiline=TRUE)
```

Recommended from our users: **Dynamic Network Monitoring from WhatsUp Gold from IPSwitch**. ** Free Download**