簡體   English   中英

從R中的實際點到建模點丟棄線

[英]Drop lines from actual to modeled points in R

昨天我研究了普通最小二乘法(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")

然后我手動添加黃線以產生以下內容:

替代文字

?segments

我舉了一個例子,但今天我很忙,挑選積分並不復雜。 ;-)

好的,所以我不是那么忙......

n=58; segments(x[n],y[n],x[n],predict(yx.lm)[n])
n=65; segments(x[n],y[n],x[n],predict(yx.lm)[n])

正如約書亞所提到的, 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")

如果您只想突出顯示幾個錯誤,那么要修改Joshua給出的示例:

n <- c(58,65)
segments(x[n], y[n], x[n], fitted(yx.lm)[n], col = "orange", lwd = 3)

HTH

G

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM