web-dev-qa-db-ja.com

rの要素ごとの乗算

Rで次のことを行うための組み込み関数または演算子はありますか?

ElementwiseMultiply <- function ( a_, b_ )
{
c_ = a_ ;
for ( i in 1:ncol(a_) )
{
    c_[,i] = ( a_[,i] * b_ ) ;
}
return ( c_ );
}

例えば

> a_
     [,1] [,2]
[1,]    1    4
[2,]    2    3
[3,]    3    2
> b_
     [,1]
[1,]    2
[2,]   -1
[3,]    1
> ElementwiseMultiply ( a_, b_ )
     [,1] [,2]
[1,]    2    8
[2,]   -2   -3
[3,]    3    2
11
Humble Debugger

はい、ベクトルとしてb_を使用した通常の乗算​​:

a_*as.vector(b_)
     [,1] [,2]
[1,]    2    8
[2,]   -2   -3
[3,]    3    2
15
James