R语言 使用stat_signif()和ggplot2箱线图进行显著性检验时出现问题

wyyhbhjk  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(119)

我试图用一个重要文本的结果来制作一个箱线图,理想情况下,使用Student检验和/或Wilcoxon检验比较两个不同自动分析仪之间的两组浓度。如果我运行以下代码(请注意,代码不包括直方图的输入语句,但它包含程序中使用的所有库,尽管许多库不适用于代码的直方图部分):

library(tidyverse) #Data frame creation manipulation
library(tidyquant) #Specialized quantifications - may or may not use
library(timetk)    #Updating dates amd other time series data 
library(purrr)     #Programming toolkit for R
library(reshape2)  #Data manipulation tools

library(openxlsx) #Access to Excel xlsx files 
library(labelled) #labelling  var_label list functions used for creating variable labels and 
                  #labels for plots using output

library(ggplot2)  
library(ggsignif) #Significance tests in ggplot
library(rstatix)  #Shapiro-Wilks Test
library(tseries)  #Jarque-Bera test
library(Hmisc)    #describe function
library(ggcorrplot)
library(ggpubr)
library(gt)
library(scales)
library(table1)
library(moments)

df2 <-  df[c("station","date","method1","method2")]
df2 <-  melt(df2, id.var=c("station","date"))
df2 <- rename(df, Autoanalyser=variable, Concentration=value)
str(df2)
df2

ggplot(df2, aes(x=Autoanalyser, y=Concentration)) + geom_boxplot() + 
                geom_signif(comparisons = list(c("method1", "method2"),

字符串
test =“t.test”),map_signif_level=TRUE)
R确实产生了一个很好的箱线图,如这里所示enter image description here
然而,它没有提供显著性结果。从我所能告诉的代码应该是正确的。然而,R为我提供了典型的和奇妙的神秘信息,它告诉我什么都没有,如下所示:

警告消息:stat_signif()中的计算失败,原因是if (scales$x$map(comp[1]) == data$group[1] | manual) ...中的错误:!在需要TRUE/TRUE的地方缺少值

奇怪的是,如果我删除test=“t.test”选项,我可以得到显着性检验结果。但是我怎么知道使用的是哪个检验?有几种可能性。有人有线索吗?
数据如下:
enter image description here

iyfjxgzm

iyfjxgzm1#

我找到了我自己的问题的答案,包括使用rstatix包的t_test函数和ggplot中的stat_pvalue_manual选项。我相信我已经很好地概括了代码,对于大多数没有经验的用户来说,都能理解它。

stat.test <- df %>% t_test(y ~ group, paired = TRUE) #<---Paired T-test
stat.test
   
# Box plot
ggplot(sifdat2, aes(x=group, y=y)) + geom_boxplot() + 
                   stat_pvalue_manual(stat.test, label = "p", y.position = 1.25)

字符串

相关问题