2015-03-02 13 views
9

fragment kodu poniżej tworzy dwuwymiarowe normalne dane, działki go i działki elipsę razem z Y linii = XDlaczego elipsa zmienia orientację, gdy okno graficzne nie jest kwadratowe?

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) 

prostej y = x powinna przechodzić przez wielkiej osi elipsy z powodu struktury kowariancji i równe środki.

W kwadratowym oknie graficznym, wszystko wydaje się w porządku: enter image description here

Jednakże, jeśli okno jest zmieniany, aby to nie kwadrat, elipsa wydaje się orientować się z dala od linii:

enter image description here

Co powoduje to i czy oczekuje się zachowania?

+2

Narysuj linię "y = x". Jaki jest kąt między linią a osią x? Następnie zmień rozmiar okna, tak jak w tym pytaniu. Jaki jest teraz kąt? – nicola

+1

powiązane: http://stackoverflow.com/questions/4587794/drawing-non-intersecting-circles, http://stackoverflow.com/questions/6322603/trying-to-draw-circles-based-on-distance-between -points; "MASS: eqscplot" może być użyteczne. –

Odpowiedz

10

To jest złudzenie optyczne. Elipsy wyglądają trochę dziwnie, gdy współrzędne nie są kwadratowe.


pamiętać, że elipsa jest oparta na szacunkach z próbki, a nie prawdziwych wartości bazowych, więc to nie jest dość wyrównane odpowiednio na początek.

df_ell2 <- data.frame(ellipse(0.7, scale=c(30,30), centre=c(30,30)), npoints=101) 

teraz wykreślić elipsę z linii stycznych, jak również jego głównej osi:

plot(dt$x,dt$y) 
lines(df_ell2) 
abline(0, 1) 
abline(df_ell2[1,1]*2, -1) 
abline(df_ell2[51,1]*2, -1) 

ellipse with major axis and tangents

Mam nadzieję, że linie styczne pozwalają zobaczyć, że elipsa jest prawidłowo wyrównany, ale wypaczone przez współczynnik proporcji.

+3

Inną potencjalnie pomocną rzeczą do zaobserwowania jest to, że zbiór punktów, które leżą dokładnie na elipsie, jest taki sam na kwadratowym wykresie, jak na podłużnym wykresie. –

Powiązane problemy