我有一个数据集(名为data
),如下所示
site year month supplier FG total
540853 2015 1 790122 T25 3
540853 2015 3 790122 T25 5
540853 2015 3 790122 V24 8
540853 2015 4 790122 V24 1
540853 2015 4 790122 T25 6
540853 2015 4 790122 W29 4
540853 2015 5 790122 W29 9
540853 2015 5 790122 V24 2
540853 2015 5 790122 T25 7
我想为2015年的所有月份创建一个条形图,供应商790122,显示每个totals
的{{1}}总和。 x轴将具有T25,W29和V24。对于T25(3 + 5 + 8 + 7),y轴读数为23,W29(4 + 9)读数为13,V24(8 + 1 + 2)读数为11。
我最初使用以下代码绘制
FG
这产生了一个我认为正确的条形图。但是,我后来想在它旁边添加一个表,以便读者可以看到每个FG的确切值,而不是从图中读取它。这样做后,我意识到条形图中的值与表中的值不匹配。
我使用以下代码绘制了第二张图表
plot1 <- ggplot(subset(data, Year %in% c("2015") & supplier %in% c("520302")),
aes(x = factor(FG), y = total)) +
geom_bar(stat = "identity", position = "dodge") +
theme(panel.grid = element_blank(), panel.background = element_blank(), axis.line = element_line(colour = "black"))
这给了一个带有我想要的值的条形图(见附图)。在第一个条形图中,R代码似乎只绘制了每个FG的最高值。
任何人都可以建议代码的哪一部分正在执行此操作以及如何在不首先在for (i in 790122){
For_summary <- subset(data, year %in% c("2015") & supplier %in% i)
summary_tbl <- data.frame(ddply(For_summary, c("FG"), summarise, S = sum(total)))
colnames(summary_tbl) <- c("FG", "total")
}
plot2 <- ggplot(summary_tbl,
aes(x = factor(FG), y = total)) +
geom_bar(stat = "identity", position = "dodge") +
ylim(0,25) + labs(title = "plot 2") +
theme(panel.grid = element_blank(), panel.background = element_blank(), axis.line = element_line(colour = "black"))
循环中创建summary_tbl
的情况下正确绘制它?