我试图只绘制一些回归线而不是任何一点。 (没有fitted
,因为我有超过7000点。)我知道如何使用线性回归进行此操作,而不是使用多项式回归。我的数据是here。有一些线性回归:
plot_data=read.csv("plot_data.csv") #read data
#linear regressions
Off_linear=lm(Z_Salary~OBPM,data=plot_data)
Def_linear=lm(Z_Salary~DBPM,data=plot_data)
Tot_linear=lm(Z_Salary~BPM,data=plot_data)
#try to plot. This works. Not sure how to add legend
termplot(Def_linear, ylab='Z_Salary',xlab='BPM',ylim=c(-2, 2))
abline(Off_linear)
abline(Tot_linear,col='blue')
但是,如果我尝试创建多项式回归,我就无法做到这一点。我希望这些回归具有相同类型的情节,但termplot
确实与自变量一起使用并分别进行。
Off_exp=lm(Z_Salary~OBPM+I(OBPM^2),data=plot_data)
Def_exp=lm(Z_Salary~DBPM+I(DBPM^2),data=plot_data)
Tot_exp=lm(Z_Salary~BPM+I(BPM^2),data=plot_data)
答案 0 :(得分:1)
Off_exp=lm(Z_Salary~OBPM+I(OBPM^2),data=plot_data)
x=seq(from=range(plot_data$OBPM)[1], to=range(plot_data$OBPM)[2])
y=predict(Off_exp, newdata=list(OBPM=x))
plot(x, y, type="l", col="blue", xlab="OBPM", ylab="Z_Salary")
legend("topleft", legend="d2", col="blue", lty=1, title="polys")
希望它有所帮助。