首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在R中绘制聚合数据

在R中绘制聚合数据
EN

Stack Overflow用户
提问于 2014-08-13 14:19:21
回答 1查看 628关注 0票数 0

我在R中有一个聚合数据集,现在我想根据数据中的两个键(即两列)绘制数据。下面是示例数据集。年级范围为1至25年级,分为5组。

代码语言:javascript
运行
复制
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个值。示例

代码语言:javascript
运行
复制
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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-13 14:48:30

要将成绩分组,创建一个包含关系的data.frame -简单:

代码语言:javascript
运行
复制
gradeRange <- data.frame(c(rep('1-5',5),rep('6-10',5)),1:10)

(当然,请持续25次),例如给它起名字(等级、范围),然后将其附加到x:

代码语言:javascript
运行
复制
x$gradeRange <- gradeRange[gradeRange$Grade == x$Grade]

或者用数学(基于混血)来写。( 5):

代码语言:javascript
运行
复制
x$gradeRange <- floor((x$Grade-1)/5)+1

(然后您可以生成这些因子值,或者只留下它们1/2/3/4/5)。

然后,您可以使用ggplot来绘制它们,也可以使用格或图来总结和使用,对组使用gradeRange。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25288626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档