2014-09-02 68 views
-2

圖形模型我不能找到適當的代碼來繪製該模型:1數值和2分類變量

model <- glm(Inter ~ Temp + Period + Vis.Level, data=mydata) 

「INTER」是一個行爲稱爲相互作用並在幾分鐘內被測量。數據如下:

Inter Vis.Level Period Temp 
0.0  Low Morning 17 
0.0  Low Morning 17 
0.0  Low Morning 16 
3.0  Low Afternoon 17 
3.0  Low Afternoon 16 
4.5  Low Afternoon 15 
0.0  High Morning 10 
0.0  High Morning 18 
0.0  High Morning 15 
0.0  High Afternoon 17 
1.5  High Afternoon 17 
0.0  High Afternoon 21 

我想圖表看起來像這樣

enter image description here

不知道這是可能的,但任何幫助都將不勝感激!

+0

這其實是很容易的。你有沒有仔細閱讀過一些教程,例如ggplot2軟件包的介紹? – Roland 2014-09-02 14:06:39

+0

如果您想手動執行此操作,請查看'?predict.lm' – user20650 2014-09-02 14:08:13

+0

@Roland我現在實際上正在閱讀有關ggplot的內容......我可以找到類似的示例,但每當我更改腳本以適合我的數據時, t情節!我會繼續閱讀! – 2014-09-02 14:09:25

回答

1
DF <- read.table(text="Inter Vis.Level Period Temp 
0.0  Low Morning 17 
0.0  Low Morning 17 
0.0  Low Morning 16 
3.0  Low Afternoon 17 
3.0  Low Afternoon 16 
4.5  Low Afternoon 15 
0.0  High Morning 10 
0.0  High Morning 18 
0.0  High Morning 15 
0.0  High Afternoon 17 
1.5  High Afternoon 17 
0.0  High Afternoon 21", header=TRUE) 

#fit your model 
fit <- lm(Inter ~ Temp + Period + Vis.Level, data=DF) 
#create new data for prediction 
DFpredict <- expand.grid(Vis.Level = unique(DF$Vis.Level), 
         Period = unique(DF$Period), 
         Temp = c(min(DF$Temp), max(DF$Temp))) 
#predict 
DFpredict$Inter <- predict(fit, newdata=DFpredict) 

#plot 
library(ggplot2) 
ggplot(DF, aes(x=Temp, y=Inter, 
       colour=Vis.Level, shape=Period, linetype=Period)) + 
    geom_point() + 
    geom_line(data=DFpredict) 

resulting plot