- 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 perform mathematical operations on elements of a list in R?
A list can contain many elements and each of them can be of different type but if they are numerical then we can perform some mathematical operations on them such as addition, multiplication, subtraction, division, etc. To do this, we can use Reduce function by mentioning the mathematical operation and the list name as Reduce(“Mathematical_Operation”, List_name).
Example
x1 <-list(Maths=c(14,28,16,17,19,29),Stats=c(18,19,21,22,28,23)) x1
Output
$Maths [1] 14 28 16 17 19 29 $Stats [1] 18 19 21 22 28 23
Example
Reduce("+",x1) [1] 32 47 37 39 47 52 Reduce("-",x1) [1] -4 9 -5 -5 -9 6 Reduce("*",x1) [1] 252 532 336 374 532 667 Reduce("/",x1) [1] 0.7777778 1.4736842 0.7619048 0.7727273 0.6785714 1.2608696 Reduce("/",x1)/3 [1] 0.2592593 0.4912281 0.2539683 0.2575758 0.2261905 0.4202899 Reduce("+",x1)/2 [1] 16.0 23.5 18.5 19.5 23.5 26.0 Reduce("*",x1)/length(x1) [1] 126.0 266.0 168.0 187.0 266.0 333.5 Reduce("+",x1)/length(x1) [1] 16.0 23.5 18.5 19.5 23.5 26.0 Reduce("+",x1)/sqrt(10) [1] 10.11929 14.86271 11.70043 12.33288 14.86271 16.44384 Reduce("+",x1)/log10(10) [1] 32 47 37 39 47 52
Lets’ have a look at another example, where list contains matrices −
x2 <-list(M1=matrix(1:25,nrow=5),M2=matrix(1:25,5)) x2
Output
$M1 [,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 $M2 [,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 Reduce("+",x2) [,1] [,2] [,3] [,4] [,5] [1,] 2 12 22 32 42 [2,] 4 14 24 34 44 [3,] 6 16 26 36 46 [4,] 8 18 28 38 48 [5,] 10 20 30 40 50 Reduce("-",x2) [,1] [,2] [,3] [,4] [,5] [1,] 0 0 0 0 0 [2,] 0 0 0 0 0 [3,] 0 0 0 0 0 [4,] 0 0 0 0 0 [5,] 0 0 0 0 0 Reduce("/",x2) [,1] [,2] [,3] [,4] [,5] [1,] 1 1 1 1 1 [2,] 1 1 1 1 1 [3,] 1 1 1 1 1 [4,] 1 1 1 1 1 [5,] 1 1 1 1 1 Reduce("*",x2) [,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 Reduce("+",x2)/length(x2) [,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 Reduce("+",x2)/2 [,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 Reduce("+",x2)/log10(10) [,1] [,2] [,3] [,4] [,5] [1,] 2 12 22 32 42 [2,] 4 14 24 34 44 [3,] 6 16 26 36 46 [4,] 8 18 28 38 48 [5,] 10 20 30 40 50
Advertisements