日々のつれづれ

不惑をむかえ戸惑いを隠せない男性の独り言

Rでの論理式その2

論理式はmatrixと組み合わせても使えます。

> x <- matrix(1:4,2)
> y <- t(matrix(1:4,2))
> x - y == 0 # matrix とvector の比較も可
[,1] [,2]
[1,] TRUE FALSE
[2,] FALSE TRUE

また、matrixはvectorに次元を与えたものなので、row方向に結合しています。

> (x <- matrix(1:12,ncol=3))
     [,1] [,2] [,3]
[1,]    1    5    9
[2,]    2    6   10
[3,]    3    7   11
[4,]    4    8   12

そのため、vectorとmatrixの比較はrow方向の比較になります。

> y <- 1:4
> x==y
     [,1]  [,2]  [,3]
[1,] TRUE FALSE FALSE
[2,] TRUE FALSE FALSE
[3,] TRUE FALSE FALSE
[4,] TRUE FALSE FALSE

このmatrixのrow方向とcolumn方向の性質が分かると、matrixでは次の2通りの標記ができることがわかります。

> x[2]==x[2,1]
[1] TRUE
> x[2]==x[1,2]
[1] FALSE