- 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 mean of a column summarized by other column names and common values in those columns in R data frame?
To find the mean of a column summarized by other column names and common values in those columns in R data frame, we can follow the below steps −
First of all, create a data frame.
Then, melt the data frame using melt function from reshape2 package.
After that, use dcast function to find the mean of a column summarized by other column names and common values in those columns.
Example
Create the data frame
Let’s create a data frame as shown below −
S.No<-1:25 Grp1<-sample(1:3,25,replace=TRUE) Grp2<-sample(1:3,25,replace=TRUE) Score<-sample(1:50,25) df<-data.frame(S.No,Grp1,Grp2,Score) df
Output
On executing, the above script generates the below output(this output will vary on your system due to randomization) −
S.No Grp1 Grp2 Score 1 1 1 3 39 2 2 1 1 50 3 3 2 2 5 4 4 1 1 28 5 5 3 3 3 6 6 2 1 20 7 7 3 2 10 8 8 2 2 41 9 9 2 3 25 10 10 3 1 11 11 11 3 1 13 12 12 2 1 2 13 13 2 2 22 14 14 2 1 30 15 15 3 1 15 16 16 1 3 29 17 17 3 3 1 18 18 1 1 24 19 19 3 3 34 20 20 1 2 44 21 21 3 3 48 22 22 3 2 43 23 23 1 2 33 24 24 2 2 19 25 25 3 3 42
Melt the data frame
Using melt function from reshape2 package to melt the data frame df −
S.No<-1:25 Grp1<-sample(1:3,25,replace=TRUE) Grp2<-sample(1:3,25,replace=TRUE) Score<-sample(1:50,25) df<-data.frame(S.No,Grp1,Grp2,Score) library(reshape2) df_new<-melt(df,id.vars=c("S.No","Score")) df_new
Output
S.No Score variable value 1 1 28 Grp1 2 2 2 14 Grp1 3 3 3 17 Grp1 2 4 4 36 Grp1 3 5 5 47 Grp1 3 6 6 27 Grp1 2 7 7 48 Grp1 1 8 8 50 Grp1 3 9 9 29 Grp1 3 10 10 20 Grp1 2 11 11 32 Grp1 1 12 12 9 Grp1 3 13 13 16 Grp1 1 14 14 3 Grp1 1 15 15 42 Grp1 3 16 16 26 Grp1 2 17 17 44 Grp1 2 18 18 39 Grp1 2 19 19 46 Grp1 1 20 20 19 Grp1 2 21 21 22 Grp1 2 22 22 23 Grp1 3 23 23 49 Grp1 3 24 24 8 Grp1 1 25 25 30 Grp1 3 26 1 28 Grp2 2 27 2 14 Grp2 2 28 3 17 Grp2 2 29 4 36 Grp2 2 30 5 47 Grp2 3 31 6 27 Grp2 1 32 7 48 Grp2 2 33 8 50 Grp2 1 34 9 29 Grp2 1 35 10 20 Grp2 2 36 11 32 Grp2 3 37 12 9 Grp2 2 38 13 16 Grp2 1 39 14 3 Grp2 1 40 15 42 Grp2 2 41 16 26 Grp2 3 42 17 44 Grp2 1 43 18 39 Grp2 2 44 19 46 Grp2 3 45 20 19 Grp2 2 46 21 22 Grp2 1 47 22 23 Grp2 2 48 23 49 Grp2 3 49 24 8 Grp2 3 50 25 30 Grp2 3
Find the mean of a column summarized by other column names and common values
Using dcast function to find the mean of Score summarized by column names Grp1 and Grp2 and common values 1,2, and 3 in these group columns −
S.No<-1:25 Grp1<-sample(1:3,25,replace=TRUE) Grp2<-sample(1:3,25,replace=TRUE) Score<-sample(1:50,25) df<-data.frame(S.No,Grp1,Grp2,Score) library(reshape2) df_new<-melt(df,id.vars=c("S.No","Score")) dcast(df_new,variable~value,value.var="Score",fun.aggregate=mean)
Output
variable 1 2 3 1 Grp1 25.50000 26.88889 32.9 2 Grp2 27.28571 26.81818 34.0
- Related Articles
- How to find the mean of a column summarized by other column names and common values in those columns in data.table object in R?
- How to find the mean of a numerical column by two categorical columns in an R data frame?
- How to repeat column values in R data frame by values in another column?
- How to remove a common suffix from column names in an R data frame?
- How to replace NA values in columns of an R data frame form the mean of that column?
- How to change the column names and row names of a data frame in R?
- How to replace missing values in a column with corresponding values in other column of an R data frame?
- How to convert a matrix to a data frame with column names and row names as new columns in R?
- Create a rolling mean column by displaying means to corresponding values in R data frame.
- How to drop data frame columns in R by using column name?
- How to combine multiple columns into one in R data frame without using column names?
- How to find the unique values in a column of an R data frame?
- How to find the trimmed mean for a column of an R data frame?
- How to find the sum of values based on key in other column of an R data frame?
- How to subtract column values from column means in R data frame?
