R Summarize Multiple Variables by Group Using data.table Package (Example Code)
In this post you’ll learn how to group the variables of a data.table in R programming.
Setting up the Example
install.packages("data.table") # Install & load data.table package library("data.table") |
install.packages("data.table") # Install & load data.table package library("data.table")
data(iris) # Load example data in R iris_dt <- data.table(iris) # Convert data.frame to data.table head(iris_dt) # Head of data.table # 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) # Load example data in R iris_dt <- data.table(iris) # Convert data.frame to data.table head(iris_dt) # Head of data.table # 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: Sum Multiple Variables by Group Using data.table Package
iris_dt[, lapply(.SD, sum), by = Species] # Grouping data.table # Species Sepal.Length Sepal.Width Petal.Length Petal.Width # 1: setosa 250.3 171.4 73.1 12.3 # 2: versicolor 296.8 138.5 213.0 66.3 # 3: virginica 329.4 148.7 277.6 101.3 |
iris_dt[, lapply(.SD, sum), by = Species] # Grouping data.table # Species Sepal.Length Sepal.Width Petal.Length Petal.Width # 1: setosa 250.3 171.4 73.1 12.3 # 2: versicolor 296.8 138.5 213.0 66.3 # 3: virginica 329.4 148.7 277.6 101.3
Further Resources & Related Tutorials
In the following, you may find some further resources on topics such as factors, character strings, and data conversion.