У меня изначально были данные различной ширины (4 строки с 158 столбцами), которые я использовал reshape::melt()
для создания длинного набора данных (624 строки x 3 столбца).
Теперь у меня есть такой набор данных:
demo <- data.frame(region = as.factor(c("North", "South", "East", "West")),
criteria = as.factor(c("Writing_1_a", "Writing_2_a", "Writing_3_a", "Writing_4_a",
"Writing_1_b", "Writing_2_b", "Writing_3_b", "Writing_4_b")),
counts = as.integer(c(18, 27, 99, 42, 36, 144, 99, 9)))
Который производит таблицу, аналогичную приведенной ниже:
region criteria counts
North Writing_1_a 18
South Writing_2_a 27
East Writing_3_a 99
West Writing_4_a 42
North Writing_1_b 36
South Writing_2_b 144
East Writing_3_b 99
West Writing_4_b 9
Теперь я хочу создать что-то вроде этого:
goal <- data.frame(region = as.factor(c("North", "South", "East", "West")),
criteria = as.factor(c("Writing_1", "Writing_2", "Writing_3", "Writing_4")),
counts = as.integer(c(54, 171, 198, 51)))
То есть, когда я сворачиваю столбцы критериев, он суммирует значения:
region criteria counts
North Writing_1 54
South Writing_2 171
East Writing_3 198
West Writing_4 51
Я пытался использовать forcats::fct_collapse
и forcats::recode()
, но безрезультатно - я уверен, что просто делаю это неправильно. Заранее благодарю за любую помощь, которую вы можете оказать.