1

我正在grouped dotplot绘制 a ,效果很好。但是如果我stat_compare_meansggpubr包中使用来添加 s,它就行不通了。当我compare_means在绘图环境之外使用它时,它工作正常,并且我得到了正确p-values的数据集(使用compare_means(X1 ~ X5, data=titer_lung, method="t.test")。

我正在使用以下数据:

> titer_lung
         X1  X2               X3    X4     X5
1  4.531479  NK       mutIRFE_FB Lunge group1
2  4.068186  NK       mutIRFE_FB Lunge group1
3  4.071882  NK       mutIRFE_FB Lunge group1
4  4.117271  NK       mutIRFE_FB Lunge group1
5  4.117271  NK       mutIRFE_FB Lunge group1
6  4.462398 -NK       mutIRFE_FB Lunge group2
7  4.643453 -NK       mutIRFE_FB Lunge group2
8  4.556303 -NK       mutIRFE_FB Lunge group2
9  4.724276 -NK       mutIRFE_FB Lunge group2
10 4.491362 -NK       mutIRFE_FB Lunge group2
11 3.903090  NK    mutIRFErev_FB Lunge group3
12 4.342423  NK    mutIRFErev_FB Lunge group3
13 4.113943  NK    mutIRFErev_FB Lunge group3
14 4.653213  NK    mutIRFErev_FB Lunge group3
15 4.230449  NK    mutIRFErev_FB Lunge group3
16 4.556303 -NK    mutIRFErev_FB Lunge group4
17 4.462398 -NK    mutIRFErev_FB Lunge group4
18 4.230449 -NK    mutIRFErev_FB Lunge group4
19       NA -NK    mutIRFErev_FB Lunge group4
20 4.591065 -NK    mutIRFErev_FB Lunge group4
21 4.230449  NK    d3IDE mutIRFE Lunge group5
22 4.531479  NK    d3IDE mutIRFE Lunge group5
23 4.812913  NK    d3IDE mutIRFE Lunge group5
24 4.544068  NK    d3IDE mutIRFE Lunge group5
25 4.342423  NK    d3IDE mutIRFE Lunge group5
26 4.380211 -NK    d3IDE mutIRFE Lunge group6
27 4.698970 -NK    d3IDE mutIRFE Lunge group6
28 4.716003 -NK    d3IDE mutIRFE Lunge group6
29 4.477121 -NK    d3IDE mutIRFE Lunge group6
30 4.740363 -NK    d3IDE mutIRFE Lunge group6
31 4.255273  NK d3IDE mutIRFErev Lunge group7
32 4.322219  NK d3IDE mutIRFErev Lunge group7
33 4.113943  NK d3IDE mutIRFErev Lunge group7
34 4.176091  NK d3IDE mutIRFErev Lunge group7
35 4.518514  NK d3IDE mutIRFErev Lunge group7
36 4.724276 -NK d3IDE mutIRFErev Lunge group8
37 4.462398 -NK d3IDE mutIRFErev Lunge group8
38 4.785330 -NK d3IDE mutIRFErev Lunge group8
39 4.431364 -NK d3IDE mutIRFErev Lunge group8
40 4.826075 -NK d3IDE mutIRFErev Lunge group8

通过使用以下代码,我得到了我正在寻找的情节:

titer_plot <- ggplot(titer_lung, aes(y=titer_lung$X1, x=titer_lung$X3, 
                                    fill=titer_lung$X2)) +
  geom_dotplot(aes(fill = titer_lung$X2, color = titer_lung$X2),
               trim = FALSE,
               binaxis='y', stackdir='center', dotsize = 0.8,
               position = position_dodge(0.8)
  )+
  stat_summary(fun.y = median, fun.ymin = median, fun.ymax = median,
               geom = "crossbar", width = 0.5, position = position_dodge(0.8)) +
  scale_fill_manual(values = c("black", "white"))+
  scale_color_manual(values = c("black", "black"))+
  xlab("")+
  ylab(expression('Viral titer/organ [log '[10]*']'))+
  theme_classic()+
  theme(text = element_text(size=10),
        axis.text.x = element_text(size=10, angle = 90, hjust=1),
        axis.text.y = element_text(size=10), 
        axis.title.y = element_text(size=10), legend.text = element_text(size=10),
        legend.title=element_blank())+
titer_plot 

当我想将 group1 与 group2 和 group3 与 group4 进行比较时,我写道:

my_comparisons <- list(c("group1","group2"),c("group3","group4"))
titer_plot + stat_compare_means(comparisons=my_comparisons, label.y=0,
                     method = "t.test")

但后来我收到以下错误:

删除了 1 行包含非有限值 (stat_signif)。
计算失败stat_signif():需要 TRUE/FALSE 的缺失值

我想它的值应该没有问题NA,因为compare_means也不会打扰。

我对每一个帮助都很满意,谢谢!!!

4

1 回答 1

2

问题是,不知道在哪里放置括号(x坐标)

比较:长度为 2 的向量列表。向量中的条目要么是 x 轴上 2 个值的名称,要么是与要比较的感兴趣组的索引相对应的 2 个整数。

titer_plot + stat_compare_means(aes(group=X2), method = "t.test",)  #specify the groups specifically
label.y=5

在此处输入图像描述

我不知道如何克服这个问题,但底层geom_signif有一个“手动”的论点。所以我想你可以以某种方式提供compare_means(X1 ~ X5, data=titer_lung, method="t.test")这个 geom 的输出。

您还可以考虑在 x 轴上有 8 个条目

ggplot(titer_lung, aes(y=X1, x=paste(X3,X2), fill=X2)) + ...

my_comparisons <- list(c("mutIRFE_FB -NK","mutIRFE_FB NK"),
                   c("mutIRFErev_FB -NK","mutIRFErev_FB NK"),
                   c("d3IDE mutIRFE -NK","d3IDE mutIRFE NK"),
                   c("d3IDE mutIRFErev -NK","d3IDE mutIRFErev NK"))
titer_plot +  stat_compare_means(comparisons=my_comparisons, label.y=5,
                 method = "t.test")

在此处输入图像描述

于 2018-12-14T19:55:32.210 回答