我正在进行同行评审并尝试理解此代码。结果图似乎是正确的,但我无法弄清楚它是如何正确的。
在下面的例子中,tableA有超过28k的观察结果。我认为在绘制聚合之前需要首先进行聚合。所以,我期望的是4年中每一行都有4行的数据帧,而不是28k行。
以下是tableA的列,如果有帮助的话:
> names(tableA)
[1] "fips" "SCC" "Pollutant" "Emissions" "type" "year"
以下是代码:
plot4 <- ggplot(tableA, aes(factor(year), Emissions/1000))+ geom_bar( stat = "identity")
print(plot4)
答案 0 :(得分:0)
使用ggplot创建条形图时,默认为position="stacked"
,这意味着如果每个y
的{{1}}值不止一个,则生成的条形图堆叠在顶部彼此的。由于您没有分组美学来区分条形,因此它们都是相同的填充颜色,总高度将是x
的{{1}}之和。
以下是一个例子:
y
此行为更像是一个工件,而不是一个功能。 AFAIK用于汇总具有给定x值的多个y值的数据的惯用方法是使用x
,如:
df <- data.frame(year=rep(2011:2014,each=5),emissions=1:20)
library(ggplot2)
ggplot(df,aes(x=factor(year),y=emissions)) + geom_bar(stat="identity")
这会产生与上面相同的图。