- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to multiply two matrices by elements in R?
To multiply two matrices by elements in R, we would need to use one of the matrices as vector. For example, if we have two matrices defined by names M1 and M2 then the multiplication of these matrices by elements can be done by using M1*as.vector(M2). The main thing we need to remember while doing this kind of multiplication is that the number of rows in both the matrices are equal.
Example
M1<-matrix(1:25,ncol=5) M1
Output
[,1] [,2] [,3] [,4] [,5] [1,] 1 6 11 16 21 [2,] 2 7 12 17 22 [3,] 3 8 13 18 23 [4,] 4 9 14 19 24 [5,] 5 10 15 20 25
Example
M2<-matrix(1:25,ncol=5) M2
Output
[,1] [,2] [,3] [,4] [,5] [1,] 1 6 11 16 21 [2,] 2 7 12 17 22 [3,] 3 8 13 18 23 [4,] 4 9 14 19 24 [5,] 5 10 15 20 25
Example
M1*as.vector(M2)
Output
[,1] [,2] [,3] [,4] [,5] [1,] 1 36 121 256 441 [2,] 4 49 144 289 484 [3,] 9 64 169 324 529 [4,] 16 81 196 361 576 [5,] 25 100 225 400 625
Example
M3<-matrix(rnorm(36),nrow=6) M3
Output
[,1] [,2] [,3] [,4] [,5] [,6] [1,] -0.66269194 -1.7457905 0.4271430 1.81482482 -1.52828812 0.1507425 [2,] 0.09297130 -0.5364919 0.8380242 -0.02126481 -0.03926208 0.2150862 [3,] 0.84724054 1.2285630 -0.8867815 1.27482991 0.76055452 0.3949002 [4,] -1.65257106 -0.7111136 2.0442647 -0.69539458 -1.89791811 1.8776415 [5,] -1.65376676 -1.7332403 0.5251878 1.20379635 0.21809336 -1.4143876 [6,] 0.09506334 -0.1884270 1.8049270 0.64850025 -0.36684996 0.7390629
Example
M4<-matrix(rnorm(36),nrow=6) M4
Output
[,1] [,2] [,3] [,4] [,5] [,6] [1,] 0.7435446 -1.6258520 -0.3318020 -1.3084350 0.2875227 -0.99886827 [2,] -1.6527269 -0.5240276 -0.6695268 0.2736843 0.9960383 -1.03338278 [3,] -2.0807263 -1.1482815 -0.6361266 -2.6593496 0.5059342 -0.07586589 [4,] 0.6829553 0.6814575 -0.1174571 -0.4193767 -0.6077792 -0.04488023 [5,] -0.4490323 -1.0317825 -1.7346983 0.8237790 0.6099129 0.42651656 [6,] 0.8599890 -0.1197610 1.1092640 -0.6074690 0.6888512 -0.58980418
Example
M3*as.vector(M4)
Output
[,1] [,2] [,3] [,4] [,5] [,6] [1,] -0.49274103 2.83839710 -0.1417269 -2.374580244 -0.43941754 -0.15057195 [2,] -0.15365618 0.28113657 -0.5610796 -0.005819844 -0.03910654 -0.22226640 [3,] -1.76287571 -1.41073618 0.5641054 -3.390218430 0.38479058 -0.02995946 [4,] -1.12863221 -0.48459370 -0.2401134 0.291632294 1.15351521 -0.08426899 [5,] 0.74259470 1.78832703 -0.9110424 0.991662178 0.13301795 -0.60325973 [6,] 0.08175343 0.02256622 2.0021405 -0.393943794 -0.25270505 -0.43590241
Example
M5<-matrix(rpois(64,5),nrow=8) M5
Output
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [1,] 3 3 2 3 4 7 10 6 [2,] 6 6 7 4 2 7 7 0 [3,] 6 3 9 8 12 8 7 5 [4,] 4 6 4 7 3 2 5 4 [5,] 4 5 6 6 4 5 6 4 [6,] 7 7 8 4 2 5 3 6 [7,] 2 0 4 6 3 5 5 7 [8,] 7 4 3 3 10 8 8 4
Example
M6<-matrix(rpois(64,5),nrow=8) M6
Output
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [1,] 5 9 5 6 9 5 7 9 [2,] 6 5 4 13 7 4 6 4 [3,] 8 4 5 5 8 7 1 6 [4,] 1 4 1 3 5 3 5 2 [5,] 5 7 5 2 5 4 10 3 [6,] 2 6 6 3 4 8 2 6 [7,] 10 6 7 7 6 6 8 4 [8,] 9 1 4 11 5 7 6 2
Example
M5*as.vector(M6)
Output
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [1,] 15 27 10 18 36 35 70 54 [2,] 36 30 28 52 14 28 42 0 [3,] 48 12 45 40 96 56 7 30 [4,] 4 24 4 21 15 6 25 8 [5,] 20 35 30 12 20 20 60 12 [6,] 14 42 48 12 8 40 6 36 [7,] 20 0 28 42 18 30 40 28 [8,] 63 4 12 33 50 56 48 8
Example
M8−-matrix(sample(0:9,36,replace=TRUE),nrow=6) M8
Output
[,1] [,2] [,3] [,4] [,5] [,6] [1,] 1 1 3 3 2 9 [2,] 2 2 1 4 3 6 [3,] 5 3 4 0 0 8 [4,] 4 0 9 1 5 8 [5,] 8 9 4 7 0 5 [6,] 2 3 1 5 8 1
Example
M7*as.vector(M8)
Output
[,1] [,2] [,3] [,4] [,5] [,6] [1,] 4 7 24 9 4 63 [2,] 6 14 3 24 6 24 [3,] 0 24 36 0 0 16 [4,] 12 0 45 3 45 0 [5,] 16 18 4 14 0 0 [6,] 10 21 9 10 32 3
Example
M9<-matrix(sample(501:999,16),ncol=4) M9
Output
[,1] [,2] [,3] [,4] [1,] 591 926 909 660 [2,] 872 976 625 868 [3,] 801 929 690 697 [4,] 992 599 662 879
Example
M10<-matrix(sample(501:999,16),ncol=4) M10
Output
[,1] [,2] [,3] [,4] [1,] 731 772 750 854 [2,] 798 858 641 635 [3,] 613 579 560 790 [4,] 589 760 504 876
Example
M9*as.vector(M10)
Output
[,1] [,2] [,3] [,4] [1,] 432021 714872 681750 563640 [2,] 695856 837408 400625 551180 [3,] 491013 537891 386400 550630 [4,] 584288 455240 333648 770004
Example
M11<-matrix(sample(501:999,16),ncol=4) M11
Output
[,1] [,2] [,3] [,4] [1,] 690 550 737 749 [2,] 771 519 652 745 [3,] 522 841 733 825 [4,] 842 752 800 934
Example
M12<-matrix(sample(501:999,8),ncol=2) M12
Output
[,1] [,2] [1,] 969 784 [2,] 648 833 [3,] 914 808 [4,] 947 585
Example
M11*as.vector(M12)
Output
[,1] [,2] [,3] [,4] [1,] 668610 431200 714153 587216 [2,] 499608 432327 422496 620585 [3,] 477108 679528 669962 666600 [4,] 797374 439920 757600 546390
Advertisements