Jonas Malmros wrote:
> Hi, everyone
>
> I wonder if there is a function in R with which I can create a square
> matrix with elements off main diagonal (for example one diagonal below
> the main diagonal).
>
> Thanks in advance!
>
>   

You could combine rbind, diag and cbind:
rbind(rep(0,3),cbind(diag(2),rep(0,2)))
rbind(rep(0,4),cbind(diag(3),rep(0,3)))
.......

A simple function:

belowDiagonal = function(x)
{
    diagBelow=rbind(rep(0,length(x)+1),cbind(diag(x),rep(0,length(x))))
    return(diagBelow)
}


belowDiagonal(7)
belowDiagonal(1:5)

domenico

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to