Il frammento di codice crea dati normale doppia, trame e quindi traccia un'ellisse insieme alla linea y = xPerché un'ellisse cambia orientamento quando la finestra grafica non è quadrata?
require(ellipse); require(MASS)
mu <- c(30,30)
Sigma <- matrix(c(900,630,630,900),2,2,byrow=TRUE)
dt <- data.frame(mvrnorm(n=1000,mu,Sigma))
names(dt) <- c("x","y")
plot(dt$x,dt$y)
df_ell <- data.frame(ellipse(cor(dt$x, dt$y), scale=c(sd(dt$x),sd(dt$y)), centre=c(mean(dt$x),mean(dt$y))))
lines(df_ell)
abline(a=0,b=1)
La linea y = x deve passare attraverso l'asse maggiore dell'ellisse causa della struttura della covarianza e i mezzi uguali.
In una finestra grafica quadrato, tutto sembra a posto:
Tuttavia, se la finestra è ridimensionata per renderlo più quadrato, l'ellisse sembra orientarsi dalla linea:
Che cosa sta causando questo ed è il comportamento previsto?
Disegna la linea 'y = x'. Qual è l'angolo tra la linea e l'asse 'x'? Quindi ridimensiona la finestra, come hai fatto in questa domanda. Qual è l'angolo ora? – nicola
correlati: http://stackoverflow.com/questions/4587794/drawing-non-intersecting-circles, http://stackoverflow.com/questions/6322603/trying-to-draw-circles-based-on-distance-between -punti ; 'MASS: eqscplot' potrebbe essere utile. –