首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:每个组不能绘制多个框图。你忘了aes(组=.)吗?

错误:每个组不能绘制多个框图。你忘了aes(组=.)吗?
EN

Stack Overflow用户
提问于 2022-08-16 10:02:43
回答 1查看 47关注 0票数 0

我在试图绘制一个盒子图时出错了。它说我没有指定组变量,但是正如您所看到的,我指定了。但我不知道为什么这个错误会不断出现。有什么想法吗?

代码语言:javascript
复制
ggplot(fl_n_net, mapping = aes(x = Season, fill = Habitat, group = interaction(Season, Habitat),
                                           lower = mean(Modularity) - sd(Modularity),
                                           upper = mean(Modularity) + sd(Modularity), middle = mean(Modularity),
                                           ymin = mean(Modularity) - 3 * sd(Modularity), ymax = mean(Modularity) + 3 * sd(Modularity))) +
  geom_boxplot(stat = "identity", position = position_dodge(width = 0.1))

Error: Can't draw more than one boxplot per group. Did you forget aes(group = ...)?

我的数据就是这样的:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-16 10:46:37

这里的问题是,您正在尝试总结aes中的每个组,这是您无法做到的。当您这样做时,例如middle = mean(Modularity),这并不是针对您的每个框计算的,而只是对您的所有框应用了大平均值。在使用group_bysummarize对数据进行分组和汇总的过程中,而不是试图完成ggplot中的所有操作。

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

fl_n_net %>%
  group_by(Season, Habitat) %>%
  summarize(ymin   = mean(Modularity) - 3 * sd(Modularity), 
            ymax   = mean(Modularity) + 3 * sd(Modularity), 
            lower  = mean(Modularity) - sd(Modularity), 
            upper  = mean(Modularity) + sd(Modularity),
            middle = mean(Modularity)) %>% 
  ggplot(aes(x = Season, fill = Habitat)) +
  geom_boxplot(stat = 'identity', 
               aes(fill = Habitat, ymin = ymin, ymax = ymax, 
                   lower = lower, middle = middle, upper = upper))

数据使用

显然,我们没有可以使用的格式的数据,因此我为上面的示例创建了一个示例数据集。你显然不需要这个部分:

代码语言:javascript
复制
set.seed(1)

fl_n_net <- data.frame(
  Season = rep(c('Spring', 'Summer', 'Autmun', 'Winter'), each = 15),
  Habitat = rep(rep(c('Desert', 'Tundra', 'Rainforest'), each = 5), 4))

fl_n_net <- within(fl_n_net, 
       Modularity <- rnorm(60, as.numeric(factor(Season)) * 
                          as.numeric(factor(Habitat))))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73372191

复制
相关文章

相似问题

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