分享

练习R:ols()+rcs()+ggplot()函数实现线性回归限制性立方样条

 数据小兵 2024-04-16 发布于陕西
散点图初步判断初始工资水平和当前工资水平之间是非线性的,接下来考虑使用rcs限制性立方样条进行分析。
为了方便后面的预测,我们先给数据打包:
dd <- datadist(data) options(datadist='dd')
然后直接开始拟合一个线性回归的限制性立方样条模型。
fit1 <- ols(salary ~ rcs(salbegin,4)+eduy,data=data)
4个节点,eduy作为协变量。
anova <- anova(fit1)anova
做个方差分析,主要目的看一下非线性关系是否成立。
非线性的P值小于0.05,认为存在非线性的关系。RCS是可以的。
beta<-Predict(fit1,salbegin)ggplot(beta,anova=anova,pval=T)
针对预测值和salbegin,绘制RCS样条图。
如图。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()
===

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多