如何在R中绘制平均图

时间:2013-08-23 07:30:25

标签: r plot

我有不同的季度,如

Quarter           GrossMargin
2009 Q1           17.60%

2009 Q1            17.80%

2010 Q2             18.50%

2011 Q1             21.60%

看到这样我有大数据集。我想在R中绘制这个。我使用了qplot(df$Quarter, df$GrossMargin, binwidth=.5)

每个出现的数据点出现了点。与x轴2009 Q1相似,Y轴上有两个数据点,一个是17.6,另一个是17.8。但是我想要每个季度的平均值,比如在x轴上,2009年Q1应该对应于Y轴的单个值(即17.6和17.8的平均值)。如果我尝试做平均值(GrossMargin),它给出整列的平均值,这是没用的。我的所有季度(2009年第一季度,第二季度,第三季度,2010年第一季度,第二季度,第三季度)都在一列中,并且在其他单一栏中列出了GrossMargin的相应值。如何在R

中做到这一点
Quarter GrossMargin
2009 Q1 17.60%
2009 Q1 17.80%
2009 Q1 22.40%
2009 Q1 17.70%
2009 Q1 17.50%
2009 Q1 17.50%
2009 Q1 18.40%
2009 Q1 18.70%
2009 Q1 21.10%
2009 Q1 13.60%
2009 Q1 17.70%
2009 Q1 17.70%
2009 Q1 18.50%
2009 Q1 17.70%
2009 Q1 18.20%
2009 Q1 30.20%
2009 Q1 17.60%
2009 Q1 19.00%
2009 Q1 14.60%
2009 Q1 17.50%
2009 Q1 18.40%
2009 Q1 21.60%
2009 Q1 21.10%
2009 Q1 18.40%
2009 Q1 17.30%
2009 Q1 14.60%
2009 Q1 17.60%
2009 Q1 17.50%
2009 Q2 17.50%
2009 Q1 14.60%
2009 Q1 17.60%
2009 Q1 17.70%
2009 Q1 17.70%
2009 Q1 17.30%
2009 Q1 17.60%
2009 Q1 18.50%
2009 Q1 18.20%
2009 Q1 17.50%
2009 Q1 17.70%
2009 Q1 17.70%
2009 Q1 17.70%
2009 Q1 30.20%
2009 Q1 17.60%
2009 Q1 18.40%
2009 Q1 30.20%
2009 Q1 18.50%
2009 Q1 39.30%
2009 Q1 17.50%
2009 Q1 17.70%
2009 Q1 17.70%
2009 Q1 17.30%
2009 Q1 19.40%
2009 Q1 20.90%
2009 Q1 17.70%
2009 Q1 18.70%
2009 Q1 17.50%
2009 Q1 17.70%
2009 Q1 17.50%
2009 Q1 17.50%
2011 Q1 18.20%
2011 Q1 17.60%
2011 Q1 17.70%
2011 Q1 17.70%
2011 Q1 18.50%
2011 Q1 19.00%
2011 Q1 21.60%
2011 Q1 17.50%
2011 Q1 14.60%
2011 Q1 30.20%
2011 Q1 18.40%
2009 Q1 21.10%
2010 Q2 17.50%
2010 Q2 17.70%
2010 Q2 17.70%
2010 Q2 17.50%
2010 Q2 17.50%
2010 Q2 18.20%
2010 Q2 18.50%
2010 Q2 17.70%
2010 Q2 17.60%
2010 Q2 17.30%
2010 Q2 14.60%
2010 Q2 17.70%
2010 Q2 18.40%
2010 Q2 17.60%
2009 Q1 17.70%
2009 Q1 19.40%
2009 Q1 17.50%
2009 Q1 17.50%
2009 Q1 20.90%
2009 Q1 19.00%
2009 Q1 17.60%
2009 Q1 17.70%
2009 Q1 19.00%
2009 Q1 17.70%
2009 Q1 17.50%
2009 Q1 17.50%
2009 Q1 17.50%

其他5列是Order.id客户ID,日期等

1 个答案:

答案 0 :(得分:0)

首先,将%字符串转换为数值:

df[2] <- as.numeric(gsub("%", "", as.character(df[ , 2])))

计算每个GrossMargin的平均Quarter

dat <- aggregate(GrossMargin ~ Quarter, df, mean)

简介:

plot(as.factor(dat$Quarter), dat$GrossMargin)

enter image description here