Here's two solutions using data.table and dplyr.
data.table
# data.table
library(data.table)
dt_1 <- fread("~/R/20220729_chocolate.csv", header = TRUE)
dt_2 <- dt_1[, .(count = .N), .(`Country of Bean Origin`)] |>
setorder(-count)
head(dt_2)
Country of Bean Origin count
1: Venezuela 254
2: Peru 248
3: Dominican Republic 234
4: Ecuador 223
5: Madagascar 184
6: Blend 156
dplyr
# dplyr
library(dplyr)
df_1 <- read.csv("~/R/20220729_chocolate.csv", header = TRUE)
df_2 <- df_1 |>
group_by(Country.of.Bean.Origin) |>
summarise(count = n()) |>
arrange(-count)
head(df_2)
# A tibble: 6 x 2
Country.of.Bean.Origin count
<chr> <int>
1 Venezuela 254
2 Peru 248
3 Dominican Republic 234
4 Ecuador 223
5 Madagascar 184
6 Blend 156