Rで行または列を定数倍する
> (a <- matrix(1:6 , nrow = 2, byrow = T))
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
# 1行目を2倍、2行目を3倍する
> diag(2:3) %*% a
[,1] [,2] [,3]
[1,] 2 4 6
[2,] 12 15 18
# 1列目を2倍、2列目を3倍、3列目を4倍する
> a %*% diag(2:4)
[,1] [,2] [,3]
[1,] 2 6 12
[2,] 8 15 24
# sweep関数を使った方法
> sweep(a, 1, 2:3, FUN = "*")
[,1] [,2] [,3]
[1,] 2 4 6
[2,] 12 15 18
> sweep(a, 2, 2:4, FUN = "*")
[,1] [,2] [,3]
[1,] 2 6 12
[2,] 8 15 24