мои функции group_by и mutate не работают должным образом

Я хочу использовать функцию max для каждого элемента в моем фрейме данных, но когда я использую group_by, он выводит элементы для каждой области. У меня должен быть только отдельный набор предметов, но не повторяющиеся предметы. Когда я заменяю mutate на summarize, результат верен; однако мне нужна Площадь вместе с Предметом и макс.

food <- read_csv("data/FAO.csv") %>%
  filter(Element == "Food") %>%
  select(Area, Item, Y2010) %>%
  group_by(Item) %>%
  na.omit() %>%
  mutate(max = max(Y2010))

person dumjo    schedule 15.11.2020    source источник
comment
Пожалуйста, предоставьте некоторые данные вместе с кодом с ожидаемым результатом.   -  person Phil    schedule 15.11.2020


Ответы (1)


Вы можете выбрать, какое значение Area вы хотите из каждого Item.

Например, чтобы выбрать первый элемент, вы можете:

library(dplyr)

food <- read_csv("data/FAO.csv") %>%
  filter(Element == "Food") %>%
  group_by(Item) %>%
  summarise(max = max(Y2010), 
            Area = first(Area))

Или используйте Area в group_by:

library(dplyr)

food <- read_csv("data/FAO.csv") %>%
  filter(Element == "Food") %>%
  group_by(Item, Area) %>%
  summarise(max = max(Y2010))         
person Ronak Shah    schedule 15.11.2020