Я разработал график ggplot, но теперь я пытаюсь добавить вычисляемую метку, которая показывает рост в % по сравнению с предыдущим годом?

Мой фрейм данных очень простой (результат агрегации из основного набора данных)

'data.frame':   4 obs. of  3 variables:
 $ Year    : int  2011 2012 2013 2014
 $ TotalPay: num  71744 74113 77611 75466

У меня есть код для моего графика:

library(ggplot2)
ggplot(d1, aes(x=Year, y=TotalPay)) + geom_bar(stat="identity") + 
labs(x="Year", y="Average Total Pay ($)")

и теперь пытаемся использовать stat_bin для таблиц? Вычисление происходит следующим образом: фактический год - предыдущий год * 100%. У меня есть это, но я не уверен, как заполнить проценты ()

stat_bin(aes (labels = paste("Total Pay" = ,scales::percent(())), vjust = 1, geom = "TexT")

Kalenji

Ответов: 1

Ответы (1)

Я бы вычислил изменение заранее, а затем построил график с помощью geom_text:

library(dplyr)
d1 <- data.frame(Year=2011:2014,TotalPay=c(71744,74112,77611,65466))
d1 <- mutate(d1,change=(TotalPay - lag(TotalPay))/lag(TotalPay))

ggplot(d1, aes(x=Year, y=TotalPay)) + geom_bar(stat="identity") + 
  labs(x="Year", y="Average Total Pay ($)") +
  geom_text(data=d1[-1,],aes(label = scales::percent(change)), vjust = 1)

введите описание изображения здесь

2022 WebDevInsider