[R] Matrix element-by-element multiplication
waddawanna
waddawanna at hotmail.com
Wed Sep 30 01:49:18 CEST 2015
Hello Steven,
It looks like, there is no in-built function that can do GAUSS ".*"
element-wise multiplication.
Now, if you want to make the desired computations in R, it is actually
preatty straightforward.
> a<-c(1,2,3)
> b<-matrix(rep(1:9,1),3,3,byrow=TRUE)
> a*b
That, should work fine. But, suppose that for some reason you have following
situation, which can make you trip for hours of sleepless nights. That is,
you have a matrix "b", where number of columns equal to number of columns of
your vector "a". That is
> b<-matrix(rep(1:9,1),3,3,byrow=TRUE);b
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
> a <- matrix(rep(1:3,1),1,3,byrow=TRUE)
[,1] [,2] [,3]
[1,] 1 2 3
If you try to do elementwise multilication, i.e., of those two
> b*a
You get an error that they are not comfomable, that is why, you have to
write your own function (here,
I just write the for-loop):
> for ( i in 1:3 ) {
foo[ ,i] = ( foo[ ,i] * bar[1,i] ) ;
}
[,1] [,2] [,3]
[1,] 1 4 9
[2,] 4 10 18
[3,] 7 16 27
I hope that this helped
Serge Boris Nesterenko
CEO 50 Pence Music Production
https://www.linkedin.com/in/sergenesterenko
--
View this message in context: http://r.789695.n4.nabble.com/Matrix-element-by-element-multiplication-tp3992206p4712964.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list