- Trending Categories
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 proportion of row values in an R data frame?
The proportion of row values can be calculated if we divide each row value with the sum of all values in a particular row. Therefore, the total sum of proportions will be equal to 1. This can be done by dividing the data frame with the row sums and for this purpose we can use the below syntax −
Syntax
data_frame_name/rowSums(data_frame_name)
Consider the below data frame −
Example
set.seed(111) x1<-rpois(20,2) x2<-rpois(20,5) x3<-round(runif(20,2,5),0) x4<-round(runif(20,2,4),0) df1<-data.frame(x1,x2,x3,x4) df1
Output
x1 x2 x3 x4 1 2 4 4 2 2 3 4 3 3 3 1 4 4 2 4 2 4 5 3 5 1 9 4 4 6 2 4 3 2 7 0 6 3 2 8 2 4 5 3 9 2 7 4 2 10 0 5 4 3 11 2 2 4 4 12 2 5 4 3 13 0 5 2 3 14 0 5 3 2 15 1 4 5 3 16 2 6 4 3 17 1 2 4 3 18 5 7 3 4 19 1 6 2 2 20 2 7 4 4
Finding the proportions for each row of data frame df1 −
Example
df1<-df1/rowSums(df1) df1
Output
x1 x2 x3 x4 1 0.16666667 0.3333333 0.3333333 0.1666667 2 0.23076923 0.3076923 0.2307692 0.2307692 3 0.09090909 0.3636364 0.3636364 0.1818182 4 0.14285714 0.2857143 0.3571429 0.2142857 5 0.05555556 0.5000000 0.2222222 0.2222222 6 0.18181818 0.3636364 0.2727273 0.1818182 7 0.00000000 0.5454545 0.2727273 0.1818182 8 0.14285714 0.2857143 0.3571429 0.2142857 9 0.13333333 0.4666667 0.2666667 0.1333333 10 0.00000000 0.4166667 0.3333333 0.2500000 11 0.16666667 0.1666667 0.3333333 0.3333333 12 0.14285714 0.3571429 0.2857143 0.2142857 13 0.00000000 0.5000000 0.2000000 0.3000000 14 0.00000000 0.5000000 0.3000000 0.2000000 15 0.07692308 0.3076923 0.3846154 0.2307692 16 0.13333333 0.4000000 0.2666667 0.2000000 17 0.10000000 0.2000000 0.4000000 0.3000000 18 0.26315789 0.3684211 0.1578947 0.2105263 19 0.09090909 0.5454545 0.1818182 0.1818182 20 0.11764706 0.4117647 0.2352941 0.2352941
Let’s have a look at another example −
Example
y1<-sample(0:5,20,replace=TRUE) y2<-sample(0:9,20,replace=TRUE) y3<-sample(1:10,20,replace=TRUE) y4<-sample(1:50,20) y5<-sample(10:100,20) df2<-data.frame(y1,y2,y3,y4,y5) df2
Output
y1 y2 y3 y4 y5 1 4 5 3 48 87 2 4 6 10 41 76 3 2 5 7 26 36 4 2 1 5 44 82 5 4 8 2 4 80 6 1 1 3 35 12 7 5 5 9 10 84 8 3 3 6 1 93 9 1 3 8 9 15 10 0 4 4 19 83 11 4 5 4 24 65 12 0 7 10 3 49 13 1 5 6 27 64 14 1 5 2 47 10 15 1 6 3 45 56 16 4 0 2 33 28 17 2 9 3 32 96 18 0 3 6 5 52 19 0 7 5 15 61 20 2 6 3 31 98
Finding the proportions for each row of data frame df2 −
Example
df2<-df2/rowSums(df2) df2
Output
y1 y2 y3 y4 y5 1 0.027210884 0.034013605 0.02040816 0.326530612 0.5918367 2 0.029197080 0.043795620 0.07299270 0.299270073 0.5547445 3 0.026315789 0.065789474 0.09210526 0.342105263 0.4736842 4 0.014925373 0.007462687 0.03731343 0.328358209 0.6119403 5 0.040816327 0.081632653 0.02040816 0.040816327 0.8163265 6 0.019230769 0.019230769 0.05769231 0.673076923 0.2307692 7 0.044247788 0.044247788 0.07964602 0.088495575 0.7433628 8 0.028301887 0.028301887 0.05660377 0.009433962 0.8773585 9 0.027777778 0.083333333 0.22222222 0.250000000 0.4166667 10 0.000000000 0.036363636 0.03636364 0.172727273 0.7545455 11 0.039215686 0.049019608 0.03921569 0.235294118 0.6372549 12 0.000000000 0.101449275 0.14492754 0.043478261 0.7101449 13 0.009708738 0.048543689 0.05825243 0.262135922 0.6213592 14 0.015384615 0.076923077 0.03076923 0.723076923 0.1538462 15 0.009009009 0.054054054 0.02702703 0.405405405 0.5045045 16 0.059701493 0.000000000 0.02985075 0.492537313 0.4179104 17 0.014084507 0.063380282 0.02112676 0.225352113 0.6760563 18 0.000000000 0.045454545 0.09090909 0.075757576 0.7878788 19 0.000000000 0.079545455 0.05681818 0.170454545 0.6931818 20 0.014285714 0.042857143 0.02142857 0.221428571 0.7000000
Advertisements