增加geom_violin地块的意义

问题描述 投票:0回答:1

我想在我的两个组(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的所有测量值进行比较?

谢谢

r ggplot2 p-value
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.