Просто используя dplyr, вы можете использовать bind_rows
, чтобы добавить строку в data.frame. В этом случае результат оператора summarise
. Поскольку результатом суммирования является data.frame с именами столбцов, столбцы будут добавлены в правильном месте и пустое значение для Metric_name. Это мы заполняем значением Total, если оно имеет значение NA.
df1 %>%
bind_rows(df1 %>%
filter(Metric_name %in% c("apples","bananas","oranges")) %>%
summarise_if(is.numeric, funs(sum))) %>%
mutate(Metric_name = ifelse(is.na(Metric_name), "Total", Metric_name))
Metric_name May Jun
1 apples 11 34
2 bananas 632 640
3 onions 479 503
4 oranges 910 939
5 Total 1553 1613
данные:
df1 <- structure(list(Metric_name = c("apples", "bananas", "onions",
"oranges"), May = c(11L, 632L, 479L, 910L), Jun = c(34L, 640L,
503L, 939L)), class = "data.frame", row.names = c("1", "2", "3",
"4"))