簡體   English   中英

“ lines()”的行為類似於“ polygon()” R?

[英]“lines()” acting like “polygon()” R?

我正在嘗試在一條紅色回歸線周圍繪制兩條黑線。 但是lines()命令繪制的東西比簡單的線條更像polygon()請參見下面的代碼 )。

我想知道是否有一種解決方法,可以簡單地在回歸線周圍畫兩條線(即不確定性區間 ),或者我錯過了什么?

library(rstanarm) 
data(kidiq)
d <- kidiq  

fit <- stan_glm(kid_score ~ mom_iq,
           data = d,   
           prior = normal(0, 2.5),  
           prior_intercept = normal(0, 10),  
           prior_aux = cauchy(0, 100)) 

plot(kid_score ~ mom_iq, data = d, type = "n")
abline(fit, col = 2)

pred_lin <- posterior_linpred(fit)

loop <- length(d$mom_iq)
I <- matrix(NA, loop, 2)
for(i in 1:loop){
I[i,] = quantile(pred_lin[,i], c(.025, .975))
}
lines(d$mom_iq, I[,1], lty = 2)
lines(d$mom_iq, I[,2])

在此處輸入圖片說明

嘗試按順序訂購data.frame:

a <- cbind(d$mom_iq, I[,1])
a <- a[order(a[,1]),]
lines(a)

所以你也可以寫:

lines(sort(d$mom_iq), I[,2][order(d$mom_iq)])

或者簡單地:

apply(I, 2, function(x) lines(sort(d$mom_iq), x[order(d$mom_iq)])) 

在此處輸入圖片說明

暫無
暫無

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

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