[R] what's wrong with my "cov"?
Peter Dalgaard
p.dalgaard at biostat.ku.dk
Fri Mar 10 09:32:12 CET 2006
Michael <comtech.usa at gmail.com> writes:
> Hi all,
>
> Why cov(y, y) only gives one value, and cov(t(y), t(y)) gives 3x3 NA matrix?
>
> Here my y is listed below and it is a 3x1 matrix.
>
> I am expecting that if I have a random vector y=[y1 y2 y3]', here " ' "
> denotes a transposition so that
>
> y is a column vector, where y1, y2, y3 are independent random variables...
>
> then cov(y, y) should be
>
> E[ y * y' ] - E[y] * E[y] ',
>
> and it should generate an 3x3 identity matrix.
>
> In fact, as you can see, my y below is generated by
>
> y=[f(1)+e1, f(2)+e2, f(3)+e3]',
> =[ 1^2+e1, 2^2+e2, 3^2+e3]',
> =[ 1 + e1, 4 + e1, 9 + e1].
> where f(x)=x^2, e1, e2, e3 are three independent normal(0, 1) sample
> values...
>
> so I expect the cov(y, y) will be a 3x3 identity matrix.
>
> What's wrong here?
Nothing.
cov(X,X) ::= crossprod(scale(X,scale=FALSE))/(nrow(X)-1)
if X is a matrix and same thing with .../(length(X)-1) if X is a
vector. Try calculating the constituent parts.
> > cov(y, y)
> [,1]
> [1,] 13.78024
> > cov(t(y), t(y))
> [,1] [,2] [,3]
> [1,] NA NA NA
> [2,] NA NA NA
> [3,] NA NA NA
> > y
> [,1]
> [1,] 1.146766
> [2,] 5.412608
> [3,] 8.542067
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>
--
O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
More information about the R-help
mailing list