R:计算数据子集的平均值

时间:2016-05-28 20:36:14

标签: r math ggplot2

我有一个很大的(对我而言)数据集,长格式为2381行。它包含季度信息,这里有一个示例:

Year    Price   Region
Q4 1973 7713    North
Q1 1974 7743    North
Q2 1974 7733    North
Q3 1974 7862    North
Q4 1974 7932    North
Q1 1975 8151    North
.
.
.
Q1 2015 188566  UK
Q2 2015 194258  UK
Q3 2015 195733  UK
Q4 2015 197044  UK
Q1 2016 198564  UK

我想计算每个区域的年平均值,然后使用ggplot2绘制它。我对绘图很满意,但是我很难找到如何自动获得这么多年的平均值(总共有13个区域)。

有任何帮助吗?

enter image description here

2 个答案:

答案 0 :(得分:1)

我不确定您是否想要每年的单一平均价格,或每年每个地区的平均价格。如果是前者,您可以使用dplyr

执行此操作
library(dplyr)
library(ggplot2)

meanPrice <- dt %>% group_by(Year) %>% summarise(meanPrice = mean(Price))
ggplot(meanPrice, aes(x = Year, y = meanPrice)) + geom_line()

如果是后者,那么你可以这样做:

meanPrice2 <- dt %>% group_by(Region, Year) %>% summarise(meanPrice = mean(Price))
ggplot(meanPrice2, aes(x = Year, y = meanPrice, colour = Region)) + geom_line()

答案 1 :(得分:0)

假设您的数据存储在名为df的数据框中。您可以执行以下操作,以获得Price的{​​{1}}平均值{/ 1}}。

Year

如果您想要每aggregate(Price ~ Year, df, mean) Year的平均值:

Region