> (mat <- matrix(1:24, 6))
[,1] [,2] [,3] [,4]
[1,] 1 7 13 19
[2,] 2 8 14 20
[3,] 3 9 15 21
[4,] 4 10 16 22
[5,] 5 11 17 23
[6,] 6 12 18 24
> subset(mat, mat[,1] %% 2)
以下にエラー subset.matrix(mat, mat[, 1]%%2) :
'subset' は論理値でなければなりません
> subset(mat, mat[,1] %% 2 == TRUE)
[,1] [,2] [,3] [,4]
[1,] 1 7 13 19
[2,] 3 9 15 21
[3,] 5 11 17 23
mat[,1] %% 2 は 1 0 1 0 1 0 なので,他の場面では TRUE FALSE TRUE FALSE TRUE FALSE と解釈されることが多いのになあ?
いや,別に,ちゃんと記述すれば良いだけのことだから,文句は言わない。