为geom_violin图增加意义

时间:2018-07-04 02:50:42

标签: r ggplot2 p-value

例如,我想在我的两个组(X1和X2)之间进行显着性图绘制,即在两个小提琴上方有一条线,并带有对应的星号(*/**/***)。我正在尝试使用geom_signif

这是我的数据

my_data=X1  50
            X1  30
            X1  40
            X1  30
            X1  40
            X1  33
            X1  45
            X1  54
            X1  34
            X1  54
            X2  77
            X2  80
            X2  70
            X2  60
            X2  55
            X2  77
            X2  79
            X2  80
            X2  82
            X2  83
            X3  10
            X3  12
            X3  14
            X3  15
            X3  12
            X3  12
            X3  11
            X3  9
            X3  8
            X3  10

这是我的代码:

library(ggplot2)
library(ggsignif)

my_colors = c('#33adff', '#0066ff', '#47d147')

ggplot(d, aes(x = variable, y =value, color=variable)) + 
  geom_violin(trim = TRUE) + 
  geom_jitter(height = 0, width = 0.1, color = "black") +
  labs(y="A.U.") + 
  xlab('') +
  theme_classic() +
  geom_signif(comparisons = list(c(d$variable == "X1", d$variable == "X2")),
              map_signif_level=TRUE)

我遇到错误:

  

一元运算符的无效参数

我在做什么错?如何更改最后一行,以便它将X1的所有测量结果与X2的所有测量结果进行比较?

谢谢

1 个答案:

答案 0 :(得分:0)

这对您有用吗?

ggplot(d, aes(x = variable, y = value)) + 
  geom_violin(aes(color=variable), trim = TRUE) +
  geom_jitter(height = 0, width = 0.1) +
  labs(y = "A.U.", x = "") + 
  theme_classic() +
  geom_signif(comparisons = list(c("X1", "X2")),   
              map_signif_level=TRUE)

plot