library(gt) # Create a data frame data <- data.frame( Name = c("John", "Emily", "Michael", "Emma", "Daniel"), Age = c(25, 32, 41, 29, 36), Country = c("USA", "Canada", "UK", "Australia", "USA") ) # Create a gt table AGEtable <- gt(data) # Add row groups AGEtable <- AGEtable %>% tab_row_group( rows = which(rownames(data) %in% rownames(data[data$Age > 30, ])), label = "Group 1 (Age > 30)" ) %>% tab_row_group( rows = which(rownames(data) %in% rownames(data[data$Country == "USA", ])), label = "Group 2 (Country = USA)" ) # Print the table print(AGEtable) gtsave(AGEtable, file = "AGEtable.html") system("wkhtmltopdf AGEtable.html AGEtable.pdf")