R draw (abline + lm) linea-di-best-fit tramite punto arbitrario

Sto cercando di disegnare una retta di regressione dei minimi quadrati utilizzando abline(lm(...)) che è anche costretti a passare attraverso un particolare punto. Vedo questa domanda è relativo, ma non è esattamente quello che voglio. Ecco un esempio:

test <- structure(list(x = c(0, 9, 27, 40, 52, 59, 76), y = c(50, 68, 
79, 186, 175, 271, 281)), .Names = c("x", "y"))

# set up an example plot
plot(test,pch=19,ylim=c(0,300),
     panel.first=abline(h=c(0,50),v=c(0,10),lty=3,col="gray"))

# standard line of best fit - black line
abline(lm(y ~ x, data=test))

# force through [0,0] - blue line
abline(lm(y ~ x + 0, data=test), col="blue")

Questo aspetto:

R draw (abline + lm) linea-di-best-fit tramite punto arbitrario

Ora come posso fare per forzare una linea attraverso il forte punto arbitrario di (x=10,y=50) mentre ancora ridurre al minimo la distanza dagli altri punti?

# force through [10,50] - red line
??
InformationsquelleAutor thelatemail | 2013-04-22



2 Replies
  1. 14

    Una ruvida soluzione sarebbe quella di spostare l’origine per il vostro modello quel punto e creare un modello senza intercetta

    nmod <- (lm(I(y-50)~I(x-10) +0, test))
    
    abline(predict(nmod, newdata = list(x=0))+50, coef(nmod), col='red')

    R draw (abline + lm) linea-di-best-fit tramite punto arbitrario

    • Bello. Non sembra che ruvida una soluzione.
    • Ruvido? Non da un calcolo del punto di vista, ma piuttosto da una statistica uno. Troverete un paio di sproloqui sul tema da parte di Bill Venables (come da Venables/Ripley di MASSA)
    • È proprio quello che intendevo.
    • Questo va bene, io non sto usando questo per qualcosa di serio, era più di un pensiero, di progetto. Avrò un po ‘ di lettura: re: le questioni statistiche.
  2. 3

    È possibile modificare la formula per lm() e l’offset dei dati:

    p=10
    q=50
    
    abline(lm(I(y-q) ~ I(x-p) + 0, data=test), col="red")
    • Sì. Modificata ora.

Lascia un commento