R 将点连接到绘图中的回归线

R 将点连接到绘图中的回归线,r,plot,ggplot2,lattice,R,Plot,Ggplot2,Lattice,从以下数据中考虑: 但是我想不出一个简单的方法来把这些点和回归线连接起来 是否有一种简单的方法(使用base、ggplot2或lattice)?Prelim代码 基本图形版本 根据您的审美需要进行相应调整 查看geom_段并传递使用aes(x=xVAL,xend=xVAL,y=YVAL,yend=FITTEDVAL)其中xVAL和YVAL是传递到ggplot()的数据框中观察到的数据的x和y坐标,而fittedvals也是从fitted(mod)获得的数据框中拟合值的向量(其中mod是从lm()

从以下数据中考虑:

但是我想不出一个简单的方法来把这些点和回归线连接起来

是否有一种简单的方法(使用
base
ggplot2
lattice
)?

Prelim代码 基本图形版本 根据您的审美需要进行相应调整


查看
geom_段
并传递使用
aes(x=xVAL,xend=xVAL,y=YVAL,yend=FITTEDVAL)
其中
xVAL
YVAL
是传递到
ggplot()
的数据框中观察到的数据的x和y坐标,而
fittedvals
也是从
fitted(mod)
获得的数据框中拟合值的向量(其中
mod
是从
lm()
获得的线性模型对象)。因此,这意味着您需要显式地拟合模型。类似的代码可以使用基本图形来完成,在这种情况下,请参见
?段
Income <- structure(list(X = 1:30, Education = c(10, 10.4013377926421, 
10.8428093645485, 11.2441471571906, 11.6454849498328, 12.0869565217391, 
12.4882943143813, 12.8896321070234, 13.2909698996656, 13.7324414715719, 
14.133779264214, 14.5351170568562, 14.9765886287625, 15.3779264214047, 
15.7792642140468, 16.2207357859532, 16.6220735785953, 17.0234113712375, 
17.4648829431438, 17.866220735786, 18.2675585284281, 18.7090301003344, 
19.1103678929766, 19.5117056856187, 19.9130434782609, 20.3545150501672, 
20.7558528428094, 21.1571906354515, 21.5986622073579, 22), Income = c(26.6588387834389, 
27.3064353457772, 22.1324101716143, 21.1698405046065, 15.1926335164307, 
26.3989510407284, 17.435306578572, 25.5078852305278, 36.884594694235, 
39.666108747637, 34.3962805641312, 41.4979935356871, 44.9815748660704, 
47.039595257834, 48.2525782901863, 57.0342513373801, 51.4909192102538, 
61.3366205527288, 57.581988179306, 68.5537140185881, 64.310925303692, 
68.9590086393083, 74.6146392793647, 71.8671953042483, 76.098135379724, 
75.77521802986, 72.4860553152424, 77.3550205741877, 72.1187904524136, 
80.2605705009016)), .Names = c("X", "Education", "Income"), class = "data.frame", row.names = c(NA, 
-30L))
ggplot(Income, aes(Education, Income)) + geom_point(color="red")+geom_smooth(se=FALSE)
require("ggplot2")

mod <- loess(Income ~ Education, data = Income)
Income <- transform(Income, Fitted = fitted(mod))
ggplot(Income, aes(Education, Income)) + 
  geom_point(color="red") + 
  geom_smooth(se=FALSE, method = "loess") +
  geom_segment(aes(x = Education, y = Income,
                   xend = Education, yend = Fitted))
plot(Income ~ Education, data = Income, type = "p", col = "red",
     cex = 1.25)
points(Fitted ~ Education, data = Income)
lines(Fitted ~ Education, data = Income, col = "blue")
with(Income, segments(Education, Income, Education, Fitted))