[R] almost lower triangular matrices

Rolf Turner rolf at math.unb.ca
Tue Mar 1 21:24:50 CET 2005


 > x <- 1:6 # In real life x <- scan(<filename>).
 > m <- matrix(0,4,4)
 > m[row(m)<col(m)] <- x
 > m <- t(m)
 > m
     [,1] [,2] [,3] [,4]
[1,]    0    0    0    0
[2,]    1    0    0    0
[3,]    2    3    0    0
[4,]    4    5    6    0


The fiddle with the transposing is needed because R puts
data into matrices column-by-column, not row-by-row.

				cheers,

					Rolf Turner
					rolf at math.unb.ca
Michael Anyadike-Danes wrote:

> I have output from a program which produces a distance matrix I want
> to read into a clustering program in R.
> 
> The output is a .txt file and is 'almost' lower triangular in the
> sense that it is just the triangle below the diagonal.
> 
> So for example a 4-by-4 distance matrix appears as,
> 
> 1
> 
> 2 3
> 
> 4 5 6
> 
> i.e. it looks like a lower triangular of a 3-by3.
> 
> I thought I might be able to use "diag" to add zeros but apparently not.
> 
> It's a problem because my matrix is actually 1989-by-1989 not 4-by-4
> 
> I would not be at all surprised if the solution is obvious but I cannot
> quite see how to read this into R.




More information about the R-help mailing list