这是我的数据
x = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22)
y = c(1, 6, 2, 5, 4, 7, 9, 6, 8, 4, 5, 6, 5, 5, 6, 7, 5, 8, 9,
5, 4, 7)
plot(x, y)
fit <- lm(y ~ x)
fit
abline(fit, col = "black", lwd = "1")
我想将数据分成两组,即回归线上方的观察值和回归线下的观察值。我怎么能这样做?
答案 0 :(得分:2)
您可以使用predict
获取每个x的拟合值,然后在观察到的和拟合之间进行逻辑比较,以测试它们是否在线上方或下方。然后根据此逻辑比较设置您绘制的颜色。
prediction <- predict(fit)
colors<-ifelse(y>prediction,1,2)
plot(x,y,col=colors)
abline(fit, col= "black",lwd="1")