我有一个假设的数据框如下:
# inventory of goods
year category count-of-good
2010 bikes 1
2011 bikes 3
2013 bikes 5
2010 skates 1
2011 skates 1
2013 skates 0
2010 skis 0
2011 skis 2
2013 skis 2
我的最终目标是显示%-<good>-of-decade-total
每年如何变化的堆积条形图。
因此,我想计算以下内容:
现在,我应该能够ggplot(df, aes(factor(year), fill=percent.total.decade.goods) + geom_bar
或者类似的(希望!),创建一个条形图,每个条形图总和达到100%。
percent.good.of.decade.total
(最右边的专栏)。谢谢你的时间!
答案 0 :(得分:1)
您可以使用dplyr计算总和:
library("dplyr")
newDf=df%>%group_by(year)%>%mutate(decades.total.goods=sum(count.of.goods))%>%ungroup()
使用mutate或normal R语法来计算总数十年的&#34;%好处&#34;
注意:您尚未共享您的确切数据框,因此显然会组成名称。
答案 1 :(得分:0)
我们可以使用ave
base R
执行此操作
df1$decades.total.goods <- with(df1, ave(count.of.good, year, FUN = sum))
df1$decades.total.goods
#[1] 2 6 7 2 6 7 2 6 7