Multiple Summary Statistics for Several Variables by Group in R (Example Code)
In this post you’ll learn how to get multiple summary statistics by group in the R programming language.
Creation of Example Data
data(iris) # Example data head(iris) # Sepal.Length Sepal.Width Petal.Length Petal.Width Species # 1 5.1 3.5 1.4 0.2 setosa # 2 4.9 3.0 1.4 0.2 setosa # 3 4.7 3.2 1.3 0.2 setosa # 4 4.6 3.1 1.5 0.2 setosa # 5 5.0 3.6 1.4 0.2 setosa # 6 5.4 3.9 1.7 0.4 setosa |
data(iris) # Example data head(iris) # Sepal.Length Sepal.Width Petal.Length Petal.Width Species # 1 5.1 3.5 1.4 0.2 setosa # 2 4.9 3.0 1.4 0.2 setosa # 3 4.7 3.2 1.3 0.2 setosa # 4 4.6 3.1 1.5 0.2 setosa # 5 5.0 3.6 1.4 0.2 setosa # 6 5.4 3.9 1.7 0.4 setosa
Example: Different Summary Statistics for Multiple Variables Using group_by & summarize_all [dplyr Package]
install.packages("dplyr") # Install dplyr package library("dplyr") # Load dplyr |
install.packages("dplyr") # Install dplyr package library("dplyr") # Load dplyr
iris_summary <- iris %>% # Calculate summary stats using dplyr group_by(Species) %>% dplyr::summarize_all(list(mn = mean, sm = sum)) %>% as.data.frame() iris_summary # Print summary data # Species Sepal.Length_mn Sepal.Width_mn Petal.Length_mn Petal.Width_mn # 1 setosa 5.006 3.428 1.462 0.246 # 2 versicolor 5.936 2.770 4.260 1.326 # 3 virginica 6.588 2.974 5.552 2.026 # Sepal.Length_sm Sepal.Width_sm Petal.Length_sm Petal.Width_sm # 1 250.3 171.4 73.1 12.3 # 2 296.8 138.5 213.0 66.3 # 3 329.4 148.7 277.6 101.3 |
iris_summary <- iris %>% # Calculate summary stats using dplyr group_by(Species) %>% dplyr::summarize_all(list(mn = mean, sm = sum)) %>% as.data.frame() iris_summary # Print summary data # Species Sepal.Length_mn Sepal.Width_mn Petal.Length_mn Petal.Width_mn # 1 setosa 5.006 3.428 1.462 0.246 # 2 versicolor 5.936 2.770 4.260 1.326 # 3 virginica 6.588 2.974 5.552 2.026 # Sepal.Length_sm Sepal.Width_sm Petal.Length_sm Petal.Width_sm # 1 250.3 171.4 73.1 12.3 # 2 296.8 138.5 213.0 66.3 # 3 329.4 148.7 277.6 101.3