首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从R中的列列表创建聚集条图

从R中的列列表创建聚集条图
EN

Stack Overflow用户
提问于 2017-09-30 21:16:35
回答 1查看 871关注 0票数 0

这是一个应急表的结果:

代码语言:javascript
复制
rating  high    low medium 
1        158    1    36
2        77     2    25
3        106    10   36
4        82     56   71
5       60      97   62

我需要创建这样一个集群条形图:

我该怎么做呢?我试过酒吧图和格图,但它们都没有用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-30 21:32:30

让它与ggplot一起工作的诀窍是,您实际上需要三条信息: 1) rating,2) highmediumlow的值,3)用于区分的颜色。问题是,数据目前没有这种格式。我们可以使用来自gathertidyverse函数来解决这个问题,然后绘制数据。

代码语言:javascript
复制
library(tidyverse)

dat = data_frame(rating=1:5, high=c(158, 77, 106, 82, 60), medium=c(1, 20, 10, 56, 97), low=c(36,25,36,71,62))
dat = dat %>%
    gather(key=color, value=value, -rating)
ggplot(data=dat, aes(x=rating, y=value, fill=color)) + 
    geom_bar(stat='identity', position='dodge')

基本上,gather的工作方式是使用一组列并使用列名作为值--新创建的key变量(我们称之为颜色),以及这些列的值作为新创建的value列中的值(我们称之为值)。

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

https://stackoverflow.com/questions/46507099

复制
相关文章

相似问题

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