2014-09-02 38 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