原文链接: http://tecdat.cn/?p=3805
我们在这里讨论所谓的“分段线性回归模型”,因为它们利用包含虚拟变量的交互项(点击文末“阅读原文”获取完整代码数据)。
读取数据
data=read.csv("artificial-cover.csv")
复制
查看部分数据
head(data)
## tree.cover shurb.grass.cover
## 1 13.2 16.8
## 2 17.2 21.8
## 3 45.4 48.8
## 4 53.6 58.7
## 5 58.5 55.5
## 6 63.3 47.2复制
###########用lm拟合,主要注意部分是bs(age,knots=c(...))这部分把自变量分成不同部分
fit =lm(tree.cover~bs(shurb.grass.cover ,knots
############进行预测,预测数据也要分区
pred= predict (fit , newdata =list(shurb.grass.cover =data$shurb.grass.cover),se=T)
#############然后画图
plot(fit)复制
可以构造一个相对复杂的 LOWESS 模型(span参数取小一些),然后和一个简单的模型比较,如:
qplot(x, y) + geom_smooth() # 总趋势
复制
相关视频
散点图分为两部分
我们可以将原始散点图分为两部分,并拟合两条单独但相连的线。估计的分段式函数连接,在描述数据趋势方面做得更好。
点击标题查阅往期内容


左右滑动查看更多

因此,让我们为这些数据建立一个分段线性回归模型并可视化:
0) + geom_smooth() + theme(panel.background = element_rect(fill = 'white', colour = 'black'))
复制

点击文末“阅读原文”
获取全文完整代码数据资料。
本文选自《R语言分段回归数据数据分析案例报告》。
点击标题查阅往期内容
文章转载自拓端数据部落,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。