[R]上三角行列を作成する
lower.tri関数に行列を指定すると、対角成分より下の成分(各成分を(i,j)と表記すればi>jの成分)だけTRUEを返す。これを利用してその成分に0を代入すれば、既存の行列を簡単に上三角行列(対角成分より下の成分はすべて0の行列)に変換することができる。
> set.seed(4)
> mx <- matrix(trunc(runif(16, 1, 10)), 4, 4)
> print(mx)
[,1] [,2] [,3] [,4]
[1,] 6 8 9 1
[2,] 1 3 1 9
[3,] 3 7 7 4
[4,] 3 9 3 5
> print(lower.tri(mx))
[,1] [,2] [,3] [,4]
[1,] FALSE FALSE FALSE FALSE
[2,] TRUE FALSE FALSE FALSE
[3,] TRUE TRUE FALSE FALSE
[4,] TRUE TRUE TRUE FALSE
> mx[lower.tri(mx)] <- 0
> print(mx)
[,1] [,2] [,3] [,4]
[1,] 6 8 9 1
[2,] 0 3 1 9
[3,] 0 0 7 4
[4,] 0 0 0 5
« [R]ディレクトリを作成する | トップページ | [R]下三角行列を作成する »
「R(行列)」カテゴリの記事
- [R]前進代入法で連立方程式を解く(2026.03.12)
- [R]相関行列を求める(2026.03.08)
- [R]LU分解を行う(2026.02.27)
- [R]下三角行列を作成する(2026.02.25)
- [R]上三角行列を作成する(2026.02.24)

コメント