I have a dataframe like this one
structure(list(id = c("ID1", "ID2", "ID3", "ID4", "ID5", "ID6",
"ID7", "ID8", "ID9", "ID10"), level1 = c("a", "a", "c", "c",
"a", "a", "c", "c", "a", "c"), level2 = c("a", "b", "c", "c",
"a", "b", "c", "c", "a", "c"), level3 = c("a", "a", "b", "b",
"a", "a", "b", "a", "a", "a")), row.names = c(NA, -10L), spec = structure(list(
cols = list(id = structure(list(), class = c("collector_character",
"collector")), level1 = structure(list(), class = c("collector_character",
"collector")), level2 = structure(list(), class = c("collector_character",
"collector")), level3 = structure(list(), class = c("collector_character",
"collector"))), default = structure(list(), class = c("collector_guess",
"collector")), delim = ";"), class = "col_spec"), problems = <pointer: 0x7fe98363acd0>, class = c("spec_tbl_df",
"tbl_df", "tbl", "data.frame"))
And I need to summarized each level combination to produce a column value (size) to end up in a dataframe like this one:
structure(list(level1 = c("a", "a", "c", "c"), level2 = c("a",
"b", "c", "c"), level3 = c("a", "a", "b", "a"), size = c(3, 2,
3, 2)), row.names = c(NA, -4L), spec = structure(list(cols = list(
level1 = structure(list(), class = c("collector_character",
"collector")), level2 = structure(list(), class = c("collector_character",
"collector")), level3 = structure(list(), class = c("collector_character",
"collector")), size = structure(list(), class = c("collector_double",
"collector"))), default = structure(list(), class = c("collector_guess",
"collector")), delim = ";"), class = "col_spec"), problems = <pointer: 0x7fe98f991fd0>, class = c("spec_tbl_df",
"tbl_df", "tbl", "data.frame"))