我在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级的每日最高价格一样,最后一个问题是如何在一个不同颜色的小区中绘制所有这些线条。许多软件包无法用于windows的R3.1.1
发布于 2014-08-13 14:48:30
要将成绩分组,创建一个包含关系的data.frame -简单:
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。
https://stackoverflow.com/questions/25288626
复制相似问题