我试图将二次回归模型拟合到数据集,然后将曲线绘制在散点图上。该数据集是关于电视节目中人物的剧集数量和上映时间。
我绘制了一个散点图,在x轴上有情节,在y轴上有屏幕时间,效果很好。
然后我按如下方式创建模型:
#ordering
gottemp <- got[order(got$episodes),]
#plotting
plot(screentime~episodes, data = gottemp, xlab ="Number of episodes", ylab = "Screentime (minutes)", col=c("blue","red")[gender], pch=c(1,2)[gender])
legend("topleft",pch = c(1,2),col=c("blue","red"),c("female","male"))
title("Plot of Screentimes vs Number of Episodes")
#creating 3model and plotting line
model <- lm(screentime~episodes+I(episodes^2), data = got)
lines(fitted(model))
这给了我一个具有正确系数的模型,但是绘制的线不是预期的。当我查看模型时,我看到有113个拟合值,我认为这是由于某些角色具有相同的情节数,因此要解决此问题,我认为每种情节数都应该只有一个拟合值。
答案 0 :(得分:0)
类似
nd <- data.frame(episodes=seq(min(episodes), max(episodes), length=51)
nd$screentime <- predict(model, newdata=nd)
with(nd, lines(episodes, screentime))
应该做你想要的。某处可能有重复...