![Trending Articles on Technical and Non Technical topics](/images/trending_categories.jpeg)
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 find the sum of division in R if zero exists in the vectors?
To find the sum of division if zero exists in the vectors, we need to assign NA to zeros in both the vectors and then use the sum function with na.rm set to TRUE. For example, if we have two vectors x and y that contains some zeros then we can divide x by y using the below commands −
x[x==0]<-NA y[y==0]<-NA sum(x/y,na.rm=TRUE)
Example
> x<-sample(0:9,100,replace=TRUE) > x
Output
[1] 3 3 5 1 7 1 6 2 2 1 4 6 0 6 3 1 2 9 3 2 6 7 7 6 7 4 1 8 3 6 6 2 6 4 0 4 3 [38] 9 1 3 4 0 5 4 6 0 3 5 3 2 4 1 2 2 6 5 6 2 8 7 2 0 1 4 2 9 9 3 0 9 8 3 8 6 [75] 0 4 8 1 6 5 9 4 8 2 3 9 9 6 1 9 0 0 5 1 6 7 4 6 8 5
Example
> y<-sample(0:9,100,replace=TRUE) > y
Output
[1] 1 5 3 1 9 1 3 8 9 0 1 7 3 2 3 3 2 9 3 1 9 5 5 2 5 4 4 7 4 5 9 1 9 9 4 2 3 [38] 0 5 1 9 1 8 7 1 9 3 7 9 9 7 1 3 5 7 9 0 0 1 9 2 3 8 2 0 4 6 7 7 2 3 5 9 5 [75] 4 0 4 6 3 4 8 3 9 9 9 3 5 6 1 2 6 5 5 2 1 6 3 2 1 1
Example
> sum(x/y) [1] Inf > x[x==0]<-NA > y[y==0]<-NA > x
Output
[1] 3 3 5 1 7 1 6 2 2 1 4 6 NA 6 3 1 2 9 3 2 6 7 7 6 7 [26] 4 1 8 3 6 6 2 6 4 NA 4 3 9 1 3 4 NA 5 4 6 NA 3 5 3 2 [51] 4 1 2 2 6 5 6 2 8 7 2 NA 1 4 2 9 9 3 NA 9 8 3 8 6 NA [76] 4 8 1 6 5 9 4 8 2 3 9 9 6 1 9 NA NA 5 1 6 7 4 6 8 5
Example
> y
Output
[1] 1 5 3 1 9 1 3 8 9 NA 1 7 3 2 3 3 2 9 3 1 9 5 5 2 5 [26] 4 4 7 4 5 9 1 9 9 4 2 3 NA 5 1 9 1 8 7 1 9 3 7 9 9 [51] 7 1 3 5 7 9 NA NA 1 9 2 3 8 2 NA 4 6 7 7 2 3 5 9 5 4 [76] NA 4 6 3 4 8 3 9 9 9 3 5 6 1 2 6 5 5 2 1 6 3 2 1 1
Example
> sum(x/y,na.rm=TRUE)
Output
[1] 133.4123
Example
> x1<-sample(0:9,20,replace=TRUE) > x1
Output
[1] 4 4 8 5 7 4 6 6 4 7 0 0 2 9 0 4 8 9 8 4
Example
> y1<-sample(0:9,20,replace=TRUE) > y1
Output
[1] 6 2 0 7 1 1 3 5 9 1 1 7 1 6 4 5 1 5 7 4
Example
> x1[x1==0]<-NA > y1[y1==0]<-NA > x1
Output
[1] 4 4 8 5 7 4 6 6 4 7 NA NA 2 9 NA 4 8 9 8 4
Example
> y1
Output
[1] 6 2 NA 7 1 1 3 5 9 1 1 7 1 6 4 5 1 5 7 4
Example
> sum(x1/y1,na.rm=TRUE)
Output
[1] 41.26825
Example
> x2<-sample(0:50,200,replace=TRUE) > x2
Output
[1] 42 2 1 28 41 39 45 12 35 41 4 3 40 15 6 28 27 10 4 14 17 35 31 6 9 [26] 29 35 16 2 20 44 0 28 8 0 28 25 4 3 13 4 42 11 39 41 41 6 48 49 14 [51] 44 24 14 19 12 10 43 22 21 21 0 50 45 13 43 14 24 16 17 32 31 12 13 33 31 [76] 0 33 41 30 3 17 4 41 29 40 40 9 26 39 22 4 12 45 32 5 39 39 26 20 21 [101] 9 12 4 2 47 31 1 47 0 28 40 3 17 28 14 44 2 38 6 35 23 2 8 30 0 [126] 49 8 36 15 10 28 40 15 22 26 9 16 4 26 26 30 30 28 14 14 44 37 11 14 19 [151] 21 19 50 8 27 1 14 17 25 46 50 42 4 16 14 40 26 40 13 8 40 13 26 42 23 [176] 29 4 6 33 34 30 20 5 39 0 36 6 12 40 27 36 2 20 32 32 41 11 21 34 34
Example
> y2<-sample(0:50,200,replace=TRUE) > y2
Output
[1] 38 27 44 10 24 6 43 34 43 23 8 31 49 32 24 43 47 14 3 27 28 25 11 6 12 [26] 28 24 24 0 22 14 24 8 48 46 26 15 20 3 8 49 18 47 47 48 11 44 41 25 44 [51] 29 48 40 44 15 13 1 14 50 47 49 31 10 35 39 14 11 13 24 29 44 35 45 38 23 [76] 11 24 43 18 23 10 47 2 39 37 30 44 39 7 5 5 37 10 23 19 9 22 46 17 34 [101] 39 21 18 47 27 43 27 22 32 8 5 46 40 17 43 21 19 35 24 47 18 33 41 50 48 [126] 21 21 24 9 13 47 38 34 25 12 2 1 47 47 3 16 29 22 2 44 3 12 50 25 50 [151] 2 9 26 50 1 12 49 23 9 12 8 20 27 38 12 26 19 0 29 40 34 15 1 19 5 [176] 46 27 14 19 9 41 50 41 24 44 42 1 38 42 5 21 50 0 9 13 47 36 39 7 15
Example
> x2[x2==0]<-NA > y2[y2==0]<-NA > x2
Output
[1] 42 2 1 28 41 39 45 12 35 41 4 3 40 15 6 28 27 10 4 14 17 35 31 6 9 [26] 29 35 16 2 20 44 NA 28 8 NA 28 25 4 3 13 4 42 11 39 41 41 6 48 49 14 [51] 44 24 14 19 12 10 43 22 21 21 NA 50 45 13 43 14 24 16 17 32 31 12 13 33 31 [76] NA 33 41 30 3 17 4 41 29 40 40 9 26 39 22 4 12 45 32 5 39 39 26 20 21 [101] 9 12 4 2 47 31 1 47 NA 28 40 3 17 28 14 44 2 38 6 35 23 2 8 30 NA [126] 49 8 36 15 10 28 40 15 22 26 9 16 4 26 26 30 30 28 14 14 44 37 11 14 19 [151] 21 19 50 8 27 1 14 17 25 46 50 42 4 16 14 40 26 40 13 8 40 13 26 42 23 [176] 29 4 6 33 34 30 20 5 39 NA 36 6 12 40 27 36 2 20 32 32 41 11 21 34 34
Example
> y2
Output
[1] 38 27 44 10 24 6 43 34 43 23 8 31 49 32 24 43 47 14 3 27 28 25 11 6 12 [26] 28 24 24 NA 22 14 24 8 48 46 26 15 20 3 8 49 18 47 47 48 11 44 41 25 44 [51] 29 48 40 44 15 13 1 14 50 47 49 31 10 35 39 14 11 13 24 29 44 35 45 38 23 [76] 11 24 43 18 23 10 47 2 39 37 30 44 39 7 5 5 37 10 23 19 9 22 46 17 34 [101] 39 21 18 47 27 43 27 22 32 8 5 46 40 17 43 21 19 35 24 47 18 33 41 50 48 [126] 21 21 24 9 13 47 38 34 25 12 2 1 47 47 3 16 29 22 2 44 3 12 50 25 50 [151] 2 9 26 50 1 12 49 23 9 12 8 20 27 38 12 26 19 NA 29 40 34 15 1 19 5 [176] 46 27 14 19 9 41 50 41 24 44 42 1 38 42 5 21 50 NA 9 13 47 36 39 7 15
Example
> sum(x2/y2,na.rm=TRUE)
Output
[1] 415.8512
Example
> x3<-sample(c(rnorm(5),0),80,replace=TRUE) > x3
Output
[1] 0.7030833 0.7030833 2.4352556 0.0000000 -0.7432770 -0.7432770 [7] -0.3303050 -0.2555678 0.0000000 -0.2555678 -0.3303050 0.7030833 [13] -0.7432770 -0.7432770 2.4352556 0.0000000 -0.3303050 -0.3303050 [19] -0.7432770 -0.3303050 -0.7432770 2.4352556 -0.2555678 -0.2555678 [25] -0.3303050 -0.7432770 -0.7432770 -0.7432770 0.7030833 0.0000000 [31] -0.2555678 0.0000000 2.4352556 2.4352556 -0.7432770 -0.7432770 [37] 0.7030833 0.0000000 2.4352556 -0.7432770 -0.3303050 0.0000000 [43] 0.7030833 0.7030833 -0.3303050 2.4352556 -0.2555678 0.7030833 [49] 0.0000000 0.7030833 -0.7432770 0.0000000 0.0000000 2.4352556 [55] 0.0000000 -0.3303050 0.0000000 0.7030833 0.7030833 -0.7432770 [61] 2.4352556 -0.7432770 2.4352556 -0.2555678 0.0000000 0.7030833 [67] 0.7030833 0.0000000 0.0000000 0.0000000 0.0000000 2.4352556 [73] 0.7030833 2.4352556 -0.3303050 2.4352556 -0.3303050 0.7030833 [79] 0.7030833 0.7030833
Example
> y3<-sample(c(rnorm(5),0),80,replace=TRUE) > y3
Output
[1] 0.0000000 -1.0907582 0.3234917 -0.4812229 0.0000000 0.3234917 [7] -1.0907582 0.5083502 2.3883446 0.5083502 -1.0907582 0.5083502 [13] 0.5083502 0.5083502 -1.0907582 -1.0907582 0.0000000 -0.4812229 [19] 0.3234917 0.5083502 2.3883446 2.3883446 0.5083502 0.5083502 [25] 0.5083502 0.3234917 0.5083502 -0.4812229 -0.4812229 2.3883446 [31] 0.5083502 -0.4812229 0.3234917 0.3234917 0.0000000 2.3883446 [37] -0.4812229 -0.4812229 0.3234917 0.3234917 -1.0907582 2.3883446 [43] -1.0907582 0.3234917 -0.4812229 0.3234917 2.3883446 -0.4812229 [49] -0.4812229 0.0000000 0.0000000 0.5083502 0.3234917 -1.0907582 [55] 0.5083502 2.3883446 0.0000000 0.3234917 0.3234917 -1.0907582 [61] -0.4812229 -0.4812229 0.0000000 0.0000000 0.3234917 -0.4812229 [67] 2.3883446 0.3234917 -1.0907582 0.5083502 -0.4812229 0.3234917 [73] -0.4812229 0.5083502 2.3883446 0.3234917 0.5083502 0.3234917 [79] 0.3234917 2.3883446
Example
> x3[x3==0]<-NA > y3[y3==0]<-NA > x3
Output
[1] 0.7030833 0.7030833 2.4352556 NA -0.7432770 -0.7432770 [7] -0.3303050 -0.2555678 NA -0.2555678 -0.3303050 0.7030833 [13] -0.7432770 -0.7432770 2.4352556 NA -0.3303050 -0.3303050 [19] -0.7432770 -0.3303050 -0.7432770 2.4352556 -0.2555678 -0.2555678 [25] -0.3303050 -0.7432770 -0.7432770 -0.7432770 0.7030833 NA [31] -0.2555678 NA 2.4352556 2.4352556 -0.7432770 -0.7432770 [37] 0.7030833 NA 2.4352556 -0.7432770 -0.3303050 NA [43] 0.7030833 0.7030833 -0.3303050 2.4352556 -0.2555678 0.7030833 [49] NA 0.7030833 -0.7432770 NA NA 2.4352556 [55] NA -0.3303050 NA 0.7030833 0.7030833 -0.7432770 [61] 2.4352556 -0.7432770 2.4352556 -0.2555678 NA 0.7030833 [67] 0.7030833 NA NA NA NA 2.4352556 [73] 0.7030833 2.4352556 -0.3303050 2.4352556 -0.3303050 0.7030833 [79] 0.7030833 0.7030833
Example
> y3
Output
[1] NA -1.0907582 0.3234917 -0.4812229 NA 0.3234917 [7] -1.0907582 0.5083502 2.3883446 0.5083502 -1.0907582 0.5083502 [13] 0.5083502 0.5083502 -1.0907582 -1.0907582 NA -0.4812229 [19] 0.3234917 0.5083502 2.3883446 2.3883446 0.5083502 0.5083502 [25] 0.5083502 0.3234917 0.5083502 -0.4812229 -0.4812229 2.3883446 [31] 0.5083502 -0.4812229 0.3234917 0.3234917 NA 2.3883446 [37] -0.4812229 -0.4812229 0.3234917 0.3234917 -1.0907582 2.3883446 [43] -1.0907582 0.3234917 -0.4812229 0.3234917 2.3883446 -0.4812229 [49] -0.4812229 NA NA 0.5083502 0.3234917 -1.0907582 [55] 0.5083502 2.3883446 NA 0.3234917 0.3234917 -1.0907582 [61] -0.4812229 -0.4812229 NA NA 0.3234917 -0.4812229 [67] 2.3883446 0.3234917 -1.0907582 0.5083502 -0.4812229 0.3234917 [73] -0.4812229 0.5083502 2.3883446 0.3234917 0.5083502 0.3234917 [79] 0.3234917 2.3883446
Example
> sum(x3/y3,na.rm=TRUE)
Output
[1] 40.23086
Advertisements