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

コメント