首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将均值添加到分组的bwplot晶格R

如何将均值添加到分组的bwplot晶格R
EN

Stack Overflow用户
提问于 2020-10-17 23:00:33
回答 1查看 128关注 0票数 1

我有一个分组的框图,每个类别并排显示两个框(参见代码)。现在我感兴趣的是分别为每个类别和框添加均值。我可以计算和可视化每个类别的平均值,而不是以分组变量"year“为条件。我试图分别计算每一年的平均值,并将它们分别相加,但这不起作用。

代码语言:javascript
复制
data(mpg, package = "ggplot2") 
library(latticeExtra)
tmp <- tapply(mpg$hwy, mpg$class, FUN =mean)
bwplot(class~hwy, data = mpg, groups = year,
       box.width = 1/3,
       panel = panel.superpose,
       panel.groups = function(x, y,..., group.number) {
         panel.bwplot(x,y + (group.number-1.5)/3,...)
         panel.points(tmp, seq(tmp),...)
       }
) 

这将生成以下图:

该示例基于:Grouped horizontal boxplot with bwplot

如果可能的话,谁能展示一下如何使用网格图形来做这件事?因为我硕士论文中的所有情节都是基于它的。

EN

回答 1

Stack Overflow用户

发布于 2020-10-17 23:23:20

如果您想考虑最后一个选项,可以尝试使用ggplot2。在这里,红点所属的代码表示:

代码语言:javascript
复制
library(ggplot2)
library(dplyr)
#Data
data(mpg, package = "ggplot2") 
#Compute summary for points
Avg <- mpg %>% group_by(class,year) %>%
  summarise(Avg=mean(hwy))
#Plot
ggplot(data = mpg, aes(x = class, y = hwy, fill = factor(year))) +
  geom_boxplot(alpha=.25) +
  geom_point(data=Avg,aes(x = class, y = Avg,color=factor(year)),
             position=position_dodge(width=0.9),show.legend = F)+
  scale_color_manual(values = c('red','red'))+
  coord_flip()+
  labs(fill='Year')+
  theme_bw()

输出:

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

https://stackoverflow.com/questions/64403849

复制
相关文章

相似问题

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