#r #ggplot2
#r #ggplot2
Вопрос:
Я хотел бы построить geom_point
с ggplot2
, чтобы представить y = сумму сумм ($) для каждой национальности, x = количество раз для каждой национальности и цвета для различения национальностей.
Я сгруппировал 20 лучших национальностей, используя это:
DF$groupnat <- fct_lump(DF$customer_country, 20)
С этим я мог бы сгруппировать 20 лучших стран, а остальные будут сгруппированы по значению others
Я знаю, как делать по отдельности, но когда я пытаюсь суммировать все на одном графике, что-то не получается. Я не могу суммировать сумму для каждой национальности и то же самое с количеством раз.
Вот пример набора данных, который я использую:
Идея состоит в том, чтобы построить график geom_point, включающий 3 переменные: x = количество наблюдений для каждой национальности (подсчитайте для каждой национальности переменную groupnat), y = общее количество (сумма сумм для каждой национальности (groupnat)) и дифференцировать каждую национальность другим цветом.
Заранее спасибо!
Комментарии:
1. Если я вас правильно понял, вы могли бы использовать dplyr для создания вашего фрейма данных и прямой передачи его в ggplot. может быть, что-то вроде этого? df %>% group_by(groupnat) %>% summarize(count = n(), amount = sum(желаемая переменная)) %>% ggplot(.,aes(x = count, y = amount, color = groupnat)) geom_point()
2. Это работает для count, но для amount вычисляется общая сумма (сумма всех значений переменной amount). Что мне нужно, так это сумма суммы за значение groupnat (США: 14000 $, ГБ: 1250 $, другие: 35000 $ и т.д.). Я думаю, что ответ близок, но я не знаю точно, как суммировать (сумма в долларах) для разных значений groupnat. В любом случае спасибо!
3. Наконец-то работает, моя ошибка, большое вам спасибо!
4. Приятно, рад слышать, что это сработало 🙂