[R] lower.tri/upper.tri functions unable to make a matrix symmetric!
Ron Michael
ron_michael70 at yahoo.com
Tue Feb 1 23:03:46 CET 2011
Dear all, I have having a strange problem with upper.tri()/lower.tri() functions which I used to use to make a matrix symmetric. However for a specific large matrix, they seem not working. Initial I had following matrix:
> MyMatrix
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 0.0002137831 1.791564e-06 1.308941e-06 1.320362e-06 1.576466e-06 -2.090668e-06 -4.480179e-08 1.617517e-06 1.188307e-06 -6.592009e-06
[2,] NA 2.313636e-04 -2.028031e-06 -2.749156e-06 -4.670093e-07 2.630111e-06 1.364227e-06 -5.065928e-06 9.069602e-07 7.034820e-07
[3,] NA NA 2.800611e-04 2.530742e-06 1.237191e-06 6.105895e-07 -2.095904e-06 -5.090979e-06 1.180013e-06 8.172282e-06
[4,] NA NA NA 3.219580e-04 -8.626130e-08 2.877486e-06 -4.387613e-06 1.551715e-06 5.999397e-07 -4.047684e-06
[5,] NA NA NA NA 2.343739e-04 5.086490e-06 2.839762e-06 -5.081967e-07 1.121733e-07 -3.601529e-06
[6,] NA NA NA NA NA 2.488756e-04 2.118398e-07 -1.879584e-06 7.186348e-07 -3.602057e-06
[7,] NA NA NA NA NA NA 2.946481e-04 2.454685e-06 -2.310217e-07 2.787164e-06
[8,] NA NA NA NA NA NA NA 1.899915e-04 1.224963e-06 -1.533257e-07
[9,] NA NA NA NA NA NA NA NA 2.009841e-04 -6.389595e-07
[10,] NA NA NA NA NA NA NA NA NA 4.427314e-04
[11,] NA NA NA NA NA NA NA NA NA NA
[12,] NA NA NA NA NA NA NA NA NA NA
[13,] NA NA NA NA NA NA NA NA NA NA
[14,] NA NA NA NA NA NA NA NA NA NA
[15,] NA NA NA NA NA NA NA NA NA NA
[16,] NA NA NA NA NA NA NA NA NA NA
[,11] [,12] [,13] [,14] [,15] [,16]
[1,] 1.611978e-06 1.156455e-06 2.429236e-06 -6.371224e-07 3.092417e-07 3.011528e-06
[2,] -5.510187e-06 -8.998582e-07 9.614807e-07 -8.311204e-07 -8.974948e-07 -3.812490e-08
[3,] -1.373343e-06 -5.213719e-07 -1.775968e-06 1.206253e-06 6.585452e-07 1.272045e-06
[4,] -2.111128e-07 2.386934e-06 2.966653e-06 2.694338e-06 2.838703e-06 3.419373e-06
[5,] 4.707156e-06 2.080091e-06 -1.449516e-06 2.091399e-07 1.564799e-06 1.203982e-06
[6,] -7.174750e-06 -1.016559e-06 3.679732e-07 -1.604075e-06 3.363196e-06 -2.106617e-06
[7,] -1.358783e-06 -2.298378e-06 -1.822507e-06 1.792765e-06 1.201043e-06 -2.553821e-06
[8,] 5.935161e-06 -3.651090e-07 2.112346e-06 -1.432126e-06 -3.692184e-07 -2.214944e-06
[9,] 3.847311e-07 -1.156356e-07 4.155777e-06 -1.627045e-06 1.789992e-07 3.229348e-06
[10,] 3.123505e-06 3.504098e-06 -1.462336e-06 3.846515e-06 -2.693877e-08 3.698078e-06
[11,] 3.421896e-04 -1.334050e-06 -4.764588e-06 -4.065790e-07 1.312966e-06 1.531616e-06
[12,] NA 1.600832e-04 7.403796e-07 2.684925e-06 2.003153e-06 1.217396e-06
[13,] NA NA 3.573365e-04 -1.540675e-06 4.166715e-07 1.457177e-06
[14,] NA NA NA 2.277771e-04 1.856102e-06 -1.513366e-06
[15,] NA NA NA NA 2.065449e-04 1.294455e-06
[16,] NA NA NA NA NA 2.056605e-04
> MyMatrix[lower.tri(MyMatrix)] <- MyMatrix[upper.tri(MyMatrix)]
> isSymmetric(MyMatrix)
[1] FALSE
Can somebody please tell me what is the problem with lower.tri/upper.tri functions? why they are not making my matrix symmetric?
Thanks
More information about the R-help
mailing list