# [R] Convert full matrix back to lower triangular matrix

Dennis Murphy djmuser at gmail.com
Wed Nov 16 06:38:05 CET 2011

```Hi:

(1) Here is why your e-mails look mangled on this list:
[[alternative HTML version deleted]]
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 <jpntsang at yahoo.com> 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]]
>
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help