R 如何在ggplot2中手动选择具有重要意义的方框图的颜色?

R 如何在ggplot2中手动选择具有重要意义的方框图的颜色?,r,ggplot2,boxplot,significance,facet-grid,R,Ggplot2,Boxplot,Significance,Facet Grid,我有这样一个数据框: values TF group_num group 1 0.22722942 FALSE 5 5 2 -0.36530296 TRUE 3 3 3 0.38795866 FALSE 4 4 4 0.48439459 FALSE 4 4 5 0.93879881 FALSE 4 4 6 -0.03598468 T

我有这样一个数据框:

        values    TF group_num group
1   0.22722942 FALSE         5     5
2  -0.36530296  TRUE         3     3
3   0.38795866 FALSE         4     4
4   0.48439459 FALSE         4     4
5   0.93879881 FALSE         4     4
6  -0.03598468  TRUE         4     4
7  -0.49993149 FALSE         4     4
8   1.26200426 FALSE         5     5
9  -0.02348821  TRUE         4     4
10 -0.78135675 FALSE         4     4
11 -0.00466411 FALSE         2     2
12 -0.28493506  TRUE         3     3
13 -1.41763529  TRUE         4     4
14  2.03987995 FALSE         1     1
15 -0.70235537 FALSE         3     3
16  0.36176799 FALSE         2     2
17  0.22171013 FALSE         5     5
18 -0.56860951 FALSE         4     4
19 -0.51199794  TRUE         4     4
20 -0.92628365 FALSE         4     4
ggplot(test, aes(x = TF, y = values, fill=group)) + 
  geom_boxplot() +  
  stat_signif(comparisons=list(c('TRUE','FALSE')),map_signif_level = T)+
scale_fill_manual(values=c("firebrick2","darkorchid4","dodgerblue4","deepskyblue4","gray48"))+ 
          facet_grid(~group) + 
      scale_color_manual(values=c("firebrick2","darkorchid4","dodgerblue4","deepskyblue4","gray48")) +
      theme(panel.grid.major = element_blank(), 
            panel.grid.minor = element_blank(),
            panel.background = element_blank(), 
            axis.line = element_line(colour = "black"),
            strip.text.x = element_blank())
ggplot(test, aes(x = TF, y = values, fill=group_num)) + 
  geom_boxplot() + 
  stat_signif(comparisons=list(c('TRUE','FALSE')),map_signif_level = T) + 
  facet_grid(~group_num) + 
  theme(panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank(),
        panel.background = element_blank(),
        axis.line = element_line(colour = "black"),
        strip.text.x = element_blank())
组数=数值
组=因子

因此,当我想创建一个箱线图,通过使用geom_signif来显示重要性时,我在使用该图时出现了一个错误:

ggplot(test, aes(x = TF, y = values, fill=group_num)) +
  geom_boxplot() + 
  stat_signif(comparisons=list(c('TRUE','FALSE')),map_signif_level = T) +
  facet_grid(~group_num) +
  scale_fill_manual(values=c("firebrick2","darkorchid4","dodgerblue4","deepskyblue4","gray48")) +
  theme(panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank(), 
        panel.background = element_blank(), 
        axis.line = element_line(colour = "black"),
        strip.text.x = element_blank())
错误:提供给离散刻度的连续值

因为我使用的是数字组

然而,当我使用组(因子)时,我得到如下输出:

        values    TF group_num group
1   0.22722942 FALSE         5     5
2  -0.36530296  TRUE         3     3
3   0.38795866 FALSE         4     4
4   0.48439459 FALSE         4     4
5   0.93879881 FALSE         4     4
6  -0.03598468  TRUE         4     4
7  -0.49993149 FALSE         4     4
8   1.26200426 FALSE         5     5
9  -0.02348821  TRUE         4     4
10 -0.78135675 FALSE         4     4
11 -0.00466411 FALSE         2     2
12 -0.28493506  TRUE         3     3
13 -1.41763529  TRUE         4     4
14  2.03987995 FALSE         1     1
15 -0.70235537 FALSE         3     3
16  0.36176799 FALSE         2     2
17  0.22171013 FALSE         5     5
18 -0.56860951 FALSE         4     4
19 -0.51199794  TRUE         4     4
20 -0.92628365 FALSE         4     4
ggplot(test, aes(x = TF, y = values, fill=group)) + 
  geom_boxplot() +  
  stat_signif(comparisons=list(c('TRUE','FALSE')),map_signif_level = T)+
scale_fill_manual(values=c("firebrick2","darkorchid4","dodgerblue4","deepskyblue4","gray48"))+ 
          facet_grid(~group) + 
      scale_color_manual(values=c("firebrick2","darkorchid4","dodgerblue4","deepskyblue4","gray48")) +
      theme(panel.grid.major = element_blank(), 
            panel.grid.minor = element_blank(),
            panel.background = element_blank(), 
            axis.line = element_line(colour = "black"),
            strip.text.x = element_blank())
ggplot(test, aes(x = TF, y = values, fill=group_num)) + 
  geom_boxplot() + 
  stat_signif(comparisons=list(c('TRUE','FALSE')),map_signif_level = T) + 
  facet_grid(~group_num) + 
  theme(panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank(),
        panel.background = element_blank(),
        axis.line = element_line(colour = "black"),
        strip.text.x = element_blank())

但是,我希望得到所有组的重要分数。要做到这一点,如果我使用group_num而不选择颜色,它会起作用。 我得到如下输出:

        values    TF group_num group
1   0.22722942 FALSE         5     5
2  -0.36530296  TRUE         3     3
3   0.38795866 FALSE         4     4
4   0.48439459 FALSE         4     4
5   0.93879881 FALSE         4     4
6  -0.03598468  TRUE         4     4
7  -0.49993149 FALSE         4     4
8   1.26200426 FALSE         5     5
9  -0.02348821  TRUE         4     4
10 -0.78135675 FALSE         4     4
11 -0.00466411 FALSE         2     2
12 -0.28493506  TRUE         3     3
13 -1.41763529  TRUE         4     4
14  2.03987995 FALSE         1     1
15 -0.70235537 FALSE         3     3
16  0.36176799 FALSE         2     2
17  0.22171013 FALSE         5     5
18 -0.56860951 FALSE         4     4
19 -0.51199794  TRUE         4     4
20 -0.92628365 FALSE         4     4
ggplot(test, aes(x = TF, y = values, fill=group)) + 
  geom_boxplot() +  
  stat_signif(comparisons=list(c('TRUE','FALSE')),map_signif_level = T)+
scale_fill_manual(values=c("firebrick2","darkorchid4","dodgerblue4","deepskyblue4","gray48"))+ 
          facet_grid(~group) + 
      scale_color_manual(values=c("firebrick2","darkorchid4","dodgerblue4","deepskyblue4","gray48")) +
      theme(panel.grid.major = element_blank(), 
            panel.grid.minor = element_blank(),
            panel.background = element_blank(), 
            axis.line = element_line(colour = "black"),
            strip.text.x = element_blank())
ggplot(test, aes(x = TF, y = values, fill=group_num)) + 
  geom_boxplot() + 
  stat_signif(comparisons=list(c('TRUE','FALSE')),map_signif_level = T) + 
  facet_grid(~group_num) + 
  theme(panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank(),
        panel.background = element_blank(),
        axis.line = element_line(colour = "black"),
        strip.text.x = element_blank())


因此,我的问题是如何使用一个组(as.factor)来获得像第一张图片一样的输出,对于我使用facet\u grid的所有不同组,在顶部具有重要意义?

尝试在
geom\u方框图中添加group as
fill
(as factor)变量调用:

ggplot(test, aes(x = TF, y = values)) + 
  geom_boxplot(aes(fill=group))