散点图初步判断初始工资水平和当前工资水平之间是非线性的,接下来考虑使用rcs限制性立方样条进行分析。dd <- datadist(data) options(datadist='dd') 然后直接开始拟合一个线性回归的限制性立方样条模型。
fit1 <- ols(salary ~ rcs(salbegin,4)+eduy,data=data) anova <- anova(fit1)anova 非线性的P值小于0.05,认为存在非线性的关系。RCS是可以的。beta<-Predict(fit1,salbegin)ggplot(beta,anova=anova,pval=T) 如图。salbegin大约在低于13000时,后续工资水平有限;大于13000后,当前工资水平会加速提高。
ggplot(anova=anova,pval=T)+ #画曲线 geom_line(data=beta,aes(salbegin,yhat),linetype=1,size=1,alpha = 0.9,colour="red")+ #画置信区间 geom_ribbon(data=beta,aes(salbegin,ymin = lower, ymax = upper),alpha = 0.3,fill="red")+ #x轴任意刻度:增加一条竖线 geom_vline(aes(xintercept=13000), colour="#BB0000", linetype="dashed")+ theme_classic()
|