R/upperTriangle.R

Defines functions lowerTriangle upperTriangle

Documented in lowerTriangle upperTriangle

upperTriangle <- function(x, diag=FALSE, byrow=FALSE)
{
  if(byrow)
    t(x)[rev(upper.tri(x, diag=diag))]
  else
    x[upper.tri(x, diag=diag)]
}

"upperTriangle<-" <- function(x, diag=FALSE, byrow=FALSE, value)
{
  if(byrow) {
    ret <- t(x)
    ret[rev(upper.tri(x, diag=diag))] <- value
    t(ret)
  }
  else {
    x[upper.tri(x, diag=diag)] <- value
    x
  }
}

lowerTriangle <- function(x, diag=FALSE, byrow=FALSE)
{
  if(byrow)
    t(x)[rev(lower.tri(x, diag=diag))]
  else
    x[lower.tri(x, diag=diag)]
}

"lowerTriangle<-" <- function(x, diag=FALSE, byrow=FALSE, value)
{
  if(byrow) {
    ret <- t(x)
    ret[rev(lower.tri(x, diag=diag))] <- value
    t(ret)
  }
  else {
    x[lower.tri(x, diag=diag)] <- value
    x
  }
}

Try the gdata package in your browser

Any scripts or data that you put into this service are public.

gdata documentation built on Oct. 17, 2023, 1:11 a.m.