绘制R中的汇总数据

时间:2014-08-13 14:19:22

标签: r

我在R中有一个聚合数据集。现在我想根据数据中的两个键绘制数据,即两列。 以下是示例数据集。等级从1-25开始,分为5组

Date             Grade         price 
01/01/2012        1             50
01/01/2012        2             20
01/01/2012        3             41
01/01/2012        4             56
02/01/2012        1             78
02/01/2012        2             89
02/01/2012        3             100
02/01/2012        4             12
02/01/2012        5             0
02/01/2012        6             60

sortmax=aggregate(a$price, by=list(a$Date), FUN=max)

如果我按日期汇总价格并使用FUN = max,我将获得特定日期的最高价格。我想找到特定等级组的最高价格,例如1-5级的最高价格,然后是6-10级的最高价格,等等。所以简单来说,我每天会有5个值。实施例

Date            Grade      Max price 
01/01/2012       1-5            56
01/01/2012       6-10           52
01/01/2012       11-15          56
01/01/2012       15-20          78
01/01/2012       21-25          50   
02/01/2012       1-5            100
02/01/2012       6-10           110
02/01/2012       11-15          56
02/01/2012       15-20          85 
02/01/2012       21-25          25

如何每天绘制每组的日期与最高价格,如每天绘制1-5级的每日最高价格,最后一个问题是如何在一个不同的情节上绘制所有这些线条颜色。许多软件包不适用于R 3.1.1,windows Xp

1 个答案:

答案 0 :(得分:0)

要对成绩进行分组,请使用关系创建数据框 - 简单:

gradeRange <- data.frame(c(rep('1-5',5),rep('6-10',5)),1:10)

(当然最多持续25个)并给它命名(等级,范围);然后将它附加到x:

x$gradeRange <- gradeRange[gradeRange$Grade == x$Grade]

或者用数学写出来(基于5个人):

x$gradeRange <- floor((x$Grade-1)/5)+1

(然后你可以制作那些因子值,或者只留下1/2/3/4/5)。

然后你可以使用ggplot来绘制图形,或者使用gradeRange作为组来汇总和使用格子或图。