У меня есть большой набор данных (более 800 000 точек данных) с информацией о кредитах, выданных более чем 5000 банками. Я пытаюсь сравнить количество кредитов, выданных N ведущими банками, которые выдают больше всего кредитов, с остальными банками вместе взятыми. Для этого я сделал фрейм данных banks
, который отсортирован по количеству выданных кредитов в порядке убывания. Я также добавил столбец с относительной совокупной суммой выданных кредитов. Я смог построить график этого, но я пытаюсь сделать гистограмму, где ось X — это N число от 1 до 10, а ось Y — это процент кредитов, выданных N ведущими банками. Каждая полоса будет разделена на разные цвета. Например, первая полоса будет одного цвета и будет включать совокупные значения только первого банка, вторая полоса будет представлять собой совокупную сумму двух верхних банков и будет иметь два цвета: по одному для каждого банка, начиная с верхнего. банк.
В качестве конкретного примера предположим, что у меня есть набор из 100 кредитов, где 5 крупнейших банков выдали по 20, 14, 12, 12, 10 кредитов каждый.
Тогда график должен быть следующим для N, изменяющегося от 1 до 5: //i.stack.imgur.com/TC78p.png" alt="введите здесь описание изображения">
И, по возможности, были бы легенды о том, какой банк соответствует каждому цвету.
Я пытался использовать ggplot
, но это не позволяет мне определять оси так, как я хочу.
Я думаю, это не так сложно, но я полный новичок в использовании R, поэтому я сделал эту гистограмму с помощью Excel и Paint. Большое спасибо!
Я сделал следующий кадр тестовых данных в соответствии с предложением @sindri_baldur для примера графика, используя dput()
:
structure(list(Bank.Name = structure(1:16, .Label = c("A", "B",
"C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O",
"P"), class = "factor"), Loans = c(20, 14, 12, 12, 10, 4, 3,
3, 3, 3, 3, 3, 3, 3, 3, 1)), class = "data.frame", row.names = c(NA,
-16L))