首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有中位数、第一百分位数和第三百分位数R的方格图

带有中位数、第一百分位数和第三百分位数R的方格图
EN

Stack Overflow用户
提问于 2021-02-18 14:18:14
回答 1查看 148关注 0票数 2

我想用两个不同的组做一个boxplot,只有三个不同的度量(这是可能的吗?)这是我的数据:

代码语言:javascript
复制
data <- data.frame( "County" = 1:6, Median = c(5,7,8,2,4, 5), Low = c( 0.5,2,4,1,2,3),
                    High = c(10,12,11,9,10,15), ID = c("TRUE", "TRUE", "FALSE", "TRUE", "FALSE", "FALSE"))  

我想要创建一个在x轴上的县,y轴上的中、低和高的boxplot,ID (真/假)作为填充。因此,我想要六个不同的(在本例中)框图(三个为假,三个为真)。但是我不知道如何处理我的数据,因为我没有yminymax

我曾尝试过这样做,但它并没有考虑到上下两个方面:

代码语言:javascript
复制
ggplot(dat, aes(x = County, y = Median, lower = Low, upper = High, fill = ID)) +
  geom_boxplot()

有没有人遇到过同样的问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-18 15:19:15

一个方格图是通过下列方法参数化的:

  • ymin:,whisker
  • lower:,25,percentile
  • middle:,50,percentile
  • upper:,75,percentile
  • ymax:,上晶须,

正如你正确地指出的,我们似乎不能用每组三个观测值来拟合这5个参数。但是,您可能对geom_crossbar()层感兴趣,它将给您一个没有晶须的盒状外观,它只需要3个参数。例子如下:

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

data <- data.frame( "County" = 1:6, Median = c(5,7,8,2,4, 5), Low = c( 0.5,2,4,1,2,3),
                    High = c(10,12,11,9,10,15), ID = c("TRUE", "TRUE", "FALSE", "TRUE", "FALSE", "FALSE")) 

ggplot(data, aes(x = as.factor(County), 
                 y = Median, 
                 ymin = Low, 
                 ymax = High)) +
  geom_crossbar(aes(colour = ID))

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

https://stackoverflow.com/questions/66261820

复制
相关文章

相似问题

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