Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将线从R中的实际点拖放到建模点_R_Graphics_Lm - Fatal编程技术网

将线从R中的实际点拖放到建模点

将线从R中的实际点拖放到建模点,r,graphics,lm,R,Graphics,Lm,昨天我讨论了普通最小二乘法(OLS)与主成分分析(PCA)之间的差异。对于这个例子,我想展示通过OLS和PCA最小化的误差,所以我绘制了实际值、预测线,然后我手动(使用GIMP)绘制了一条下降线来说明几个误差项。如何在R中编写创建错误行的代码?下面是我在示例中使用的代码: set.seed(2) x <- 1:100 y <- 20 + 3 * x e <- rnorm(100, 0, 60) y <- 20 + 3 * x + e plot(x,y) yx.lm &

昨天我讨论了普通最小二乘法(OLS)与主成分分析(PCA)之间的差异。对于这个例子,我想展示通过OLS和PCA最小化的误差,所以我绘制了实际值、预测线,然后我手动(使用GIMP)绘制了一条下降线来说明几个误差项。如何在R中编写创建错误行的代码?下面是我在示例中使用的代码:

set.seed(2)
x <- 1:100

y <- 20 + 3 * x
e <- rnorm(100, 0, 60)
y <- 20 + 3 * x + e

plot(x,y)
yx.lm <- lm(y ~ x)
lines(x, predict(yx.lm), col="red")
set.seed(2)
x
?段

我想举个例子,但我今天很忙,挑点也没那么复杂

好吧,所以我没那么忙


正如Joshua所提到的,
segments()
是解决这个问题的方法。由于它是完全矢量化的,我们可以根据您的示例一次添加所有错误

set.seed(2)
x <- 1:100

y <- 20 + 3 * x
e <- rnorm(100, 0, 60)
y <- 20 + 3 * x + e

plot(x,y)
yx.lm <- lm(y ~ x)
lines(x, predict(yx.lm), col="red")
## Add segments
segments(x, y, x, fitted(yx.lm), col = "blue")
set.seed(2)

x我从未使用过
命令!谢谢你指给我看。-1(对我来说)没有矢量化。谢谢你的澄清!
set.seed(2)
x <- 1:100

y <- 20 + 3 * x
e <- rnorm(100, 0, 60)
y <- 20 + 3 * x + e

plot(x,y)
yx.lm <- lm(y ~ x)
lines(x, predict(yx.lm), col="red")
## Add segments
segments(x, y, x, fitted(yx.lm), col = "blue")
n <- c(58,65)
segments(x[n], y[n], x[n], fitted(yx.lm)[n], col = "orange", lwd = 3)