Итак, у меня есть набор данных о ВНД на душу населения и количестве самоубийств в странах, и я пытаюсь отфильтровать только 10 стран с самым высоким ВНД. Моя проблема заключается в том, что в моем наборе данных есть дубликаты записей для стран для ВНД, так как у меня также есть статистика самоубийств для конкретной возрастной группы по полу для каждой страны.
Я попытался применить следующий код с помощью функции top_n в Dplyr:
top_highest_gni <- df_filter_ages %>% group_by(as.numeric(as.character(GNI.per.capita..PPP..current.international.....NY.GNP.PCAP.PP.CD.))) %>%
top_n(10)
Однако это никак не влияет на мой набор данных, и сообщение об ошибке не появляется, и я не уверен, почему? Буду признателен за любую помощь в этом!
Данные выглядят так:
Country Year Sex GNI
Albania 2012 F 290000
Albania 2012 M 290000
UK 2012 F 2222222222
UK 2012 M 2222222222
Редактировать
Как и предполагалось, я добавил функцию суммирования и запустил этот код:
df_filter_ages %>%
group_by(country) %>%
summarise(max = max(as.numeric(as.character(GNI.per.capita..PPP..current.international.....NY.GNP.PCAP.PP.CD.)))) %>%
top_n(2)
И вывод:
Selecting by max
max
1 119330
Желаемый выход:
Country Year Sex GNI
UK 2012 F 2222222222
UK 2012 M 2222222222
Albania 2012 F 290000
Albania 2012 M 290000