- 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 groupwise mean and groupwise sum at the same time in an R data frame?
To find the groupwise mean and groupwise sum at the same time, we can first convert the data frame into a data.table object and then apply the sum function and mean function for data.table object groups as shown in the below examples.
Example 1
Following snippet creates a sample data frame −
Group<-sample(LETTERS[1:4],20,replace=TRUE) Rate<-rpois(20,5) Score<-rpois(20,2) df1<-data.frame(Group,Rate,Score) df1
The following dataframe is created −
Group Rate Score 1 B 5 3 2 A 8 3 3 B 5 3 4 D 9 2 5 D 4 3 6 D 4 1 7 D 8 3 8 C 5 3 9 C 4 1 10 D 6 4 11 D 4 4 12 C 5 1 13 D 7 2 14 C 4 0 15 C 3 1 16 B 1 1 17 C 3 2 18 D 3 2 19 B 2 4 20 C 4 3
To load data.table package, convert df1 into a data.table object and find the groupwise mean and groupwise sum, add the following code to the above snippet −;
library(data.table) DT1<-data.table(df1) DT1[,list(Rate=sum(Rate),Score=mean(Score)),by="Group"]
Output
If you execute all the above given snippets as a single program, it generates the following output −
Group Rate Score 1: B 13 2.750000 2: A 8 3.000000 3: D 45 2.625000 4: C 28 1.571429
Example 2
Following snippet creates a sample data frame −
Class<-sample(c("First","Second","Third"),20,replace=TRUE) Price<-sample(200:1000,20) Sales<-sample(50:100,20) df2<-data.frame(Class,Price,Sales) df2
The following dataframe is created −
Class Price Sales 1 Third 494 89 2 Second 222 90 3 First 466 53 4 First 425 94 5 First 567 66 6 Second 526 95 7 Third 443 97 8 Third 614 96 9 First 605 50 10 First 590 100 11 Second 853 92 12 First 818 73 13 Third 936 63 14 Second 932 68 15 First 677 88 16 First 851 80 17 Second 395 65 18 First 519 70 19 Second 804 77 20 Second 420 84
To convert df2 into a data.table object and find the groupwise mean and groupwise sum, add the following code to the above snippet −
DT2<-data.table(df2) DT2[,list(Sales=sum(Sales),Price=mean(Price)),by="Class"]
Output
If you execute all the above given snippets as a single program, it generates the following output −
Class Sales Price 1: Third 345 621.7500 2: Second 571 593.1429 3: First 674 613.1111
- Related Articles
- How to find the groupwise mean and save it in a data frame object in R?
- How to find the groupwise correlation matrix for an R data frame?
- How to find the groupwise order of values in an R data frame?
- How to find the groupwise cumulative mean in R?
- How to find the number of groupwise missing values in an R data frame?
- How to find the groupwise number of positive and negative values in an R data frame?
- How to find the row mean of columns having same name in R data frame?
- How to find the mean of all values in an R data frame?
- How to extract the row for groupwise maximum in another column of an R data.table object?
- How to find the groupwise common value for a data.table object?
- How to find the trimmed mean for a column of an R data frame?
- How to find the mean of row values in an R data frame using dplyr?
- How to find the mean based on single group value in an R data frame?
- How to find the mean for multiple columns in an R data frame using mean function not colMeans?
- How to find the sum of column values of an R data frame?
