a <- matrix(seq(6), 2, 3) b <- c(0, 0, 1) c <- c(0, 1) # 結果 > a [,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6 > b [1] 0 0 1 > c [1] 0 1 # 期待通りの結果 > a * c [,1] [,2] [,3] [1,] 0 0 0 [2,] 2 4 6 # 期待と違う > a * b [,1] [,2] [,3] [1,] 0 3 0 [2,] 0 0 6 # 修正 > t(t(a) * b) [,1] [,2] [,3] [1,] 0 0 5 [2,] 0 0 6
これは後輩氏に教えてもらった。