При публикации в SO, убедитесь, что вы включили воспроизводимый пример ваших данных (dput
полезно для этого). На самом деле, я могу только догадываться о структуре ваших данных.
Мне нравится выполнять общие операции группировки / суммирования с dplyr
. Используя iris
в качестве примера, вы можете сделать что-то вроде этого
library(dplyr)
library(tidyr)
data(iris)
iris %>%
drop_na() %>%
group_by(Species) %>%
summarise_all(mean)
summarise_all
просто автоматически использует все не группирующие столбцы и принимает функцию, которую вы хотите применить.
Обратите внимание: если вы используете версию dplyr для разработчиков, вы также можете сделать что-то вроде
iris %>%
group_by(Species) %>%
summarise(across(is.numeric), mean)
, поскольку summarise_all
заменяется на across