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

Christos Hatzis christos at nuverabio.com
Fri Jan 27 07:22:20 CET 2006


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 at stat.math.ethz.ch
[mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Taka Matzmoto
Sent: Friday, January 27, 2006 1:13 AM
To: r-help at 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 at 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




More information about the R-help mailing list