Convert full matrix back to lower triangular matrix

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Convert full matrix back to lower triangular matrix

Juliet Ndukum
Given a vector;> ab = seq(0.5,1, by=0.1)> ab[1] 0.5 0.6 0.7 0.8 0.9 1.0
The euclidean distance between the vector elements is given by the lower triangular matrix > dd1 =
 dist(ab,"euclidean")> dd1    1   2   3   4   52 0.1                3 0.2 0.1            4 0.3 0.2 0.1        5 0.4 0.3 0.2 0.1    6 0.5 0.4 0.3 0.2 0.1
Convert the lower triangular matrix to a full matrix> ddm = as.matrix(dd1)> ddm    1   2   3   4   5   61 0.0 0.1 0.2 0.3 0.4 0.52 0.1 0.0 0.1 0.2 0.3 0.43 0.2 0.1 0.0 0.1 0.2 0.34 0.3 0.2 0.1
 0.0 0.1 0.25 0.4 0.3 0.2 0.1 0.0 0.16 0.5 0.4 0.3 0.2 0.1 0.0
I would be grateful if someone could provide me with a code to convert ddm to the lower triangular matrix as before i.e. dd1
above.
Your help will be greatly appreciated.JN
NB: I apologize for the poor output of the previous email. Thanks for  your understanding.
        [[alternative HTML version deleted]]


______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
Reply | Threaded
Open this post in threaded view
|

Re: Convert full matrix back to lower triangular matrix

djmuseR
Hi:

(1) Here is why your e-mails look mangled on this list:
  [[alternative HTML version deleted]]
     R-help is a text-only list, so please change your mailer's
settings to send ASCII text rather than HTML.

(2) The print method you see displayed in dd1 is equivalent to the following:

ddm * lower.tri(ddm)

Note that lower.tri(ddm) produces a logical matrix; in R, when you
multiply a numeric object by a logical, the latter is converted to 0's
and 1's. In this case, the lower triangular elements are retained
while the other elements are coerced to 0.

HTH,
Dennis


On Tue, Nov 15, 2011 at 2:55 PM, Juliet Ndukum <[hidden email]> wrote:

> Given a vector;> ab = seq(0.5,1, by=0.1)> ab[1] 0.5 0.6 0.7 0.8 0.9 1.0
> The euclidean distance between the vector elements is given by the lower triangular matrix > dd1 =
>  dist(ab,"euclidean")> dd1    1   2   3   4   52 0.1                3 0.2 0.1            4 0.3 0.2 0.1        5 0.4 0.3 0.2 0.1    6 0.5 0.4 0.3 0.2 0.1
> Convert the lower triangular matrix to a full matrix> ddm = as.matrix(dd1)> ddm    1   2   3   4   5   61 0.0 0.1 0.2 0.3 0.4 0.52 0.1 0.0 0.1 0.2 0.3 0.43 0.2 0.1 0.0 0.1 0.2 0.34 0.3 0.2 0.1
>  0.0 0.1 0.25 0.4 0.3 0.2 0.1 0.0 0.16 0.5 0.4 0.3 0.2 0.1 0.0
> I would be grateful if someone could provide me with a code to convert ddm to the lower triangular matrix as before i.e. dd1
> above.
> Your help will be greatly appreciated.JN
> NB: I apologize for the poor output of the previous email. Thanks for  your understanding.
>        [[alternative HTML version deleted]]
>
>
> ______________________________________________
> [hidden email] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
>

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.