Взяв среднее множества переменных, которые будут сгруппированы по набору категориальных переменных - PullRequest
0 голосов
/ 08 апреля 2020

у меня 500 столбцов. Одна является категориальной переменной с 3 категориями, а остальные являются непрерывными переменными. Есть 50 строк, которые попадают под эти столбцы. Как мне сгруппировать фрейм данных по категориальным переменным и взять среднее значение наблюдений, которые попадают в каждую категорию для каждого столбца, который имеет непрерывные переменные для этого DF? ТАКЖЕ, удалите все NA. Я хочу создать новый CD из этой информации.

Best, Henry

1 Ответ

0 голосов
/ 08 апреля 2020

При публикации в 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...