Re: [R] [Q] extracting lower diagonal elements of a matrix

From: Christos Hatzis <christos_at_nuverabio.com>
Date: Fri 27 Jan 2006 - 17:22:20 EST


Try

s <- matrix(rnorm(36,0,1),nrow=6)
s[col(s)<row(s)]

Courtesy of V&R.

-Christos

-----Original Message-----
From: r-help-bounces@stat.math.ethz.ch
[mailto:r-help-bounces@stat.math.ethz.ch] On Behalf Of Taka Matzmoto Sent: Friday, January 27, 2006 1:13 AM
To: r-help@stat.math.ethz.ch
Subject: [R] [Q] extracting lower diagonal elements of a matrix

Hi R users

I like to extract lower diagonal elements of a matrix in such a way like, data[1,2], data[1,3], ...., data[5,6] are extracted from a matrix called 'data'

This short script below is what I have written so far.

##########################################
data <- matrix(rnorm(36,0,1),nrow=6)
temp<-c()
for (i in 1:(nrow(data)-1))
{

    for (j in (i+1):nrow(data))
    {

        temp<-append(temp,data[j,i])
    }
}
##########################################

Is there any function for this? or is there any elegant way to do this task?

Thanks in advance.

TM



R-help@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

R-help@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 Received on Fri Jan 27 17:30:29 2006

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:42:14 EST