Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

element wise multiplication in r

Is there an inbuilt function or operator to do the following in R :

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

For instance

> 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
like image 671
Humble Debugger Avatar asked May 14 '14 09:05

Humble Debugger


Video Answer


1 Answers

Yes, normal multiplication with b_ as a vector:

a_*as.vector(b_)
     [,1] [,2]
[1,]    2    8
[2,]   -2   -3
[3,]    3    2
like image 174
James Avatar answered Sep 21 '22 23:09

James