stat_compare_means function - Error 'must have same length'
0
0
Entering edit mode
Elif • 0
@8e8cd8cc
Last seen 22 months ago
Puerto Rico

Hello,

We are trying to compute a Kruskal-Wallis test on diversity indices (Chao1, Shannon) through the following code using the function stat_compare_means (that by default uses wilkoxon) from ggpubr.

Code:

my_comparisons <- list(c("gut C. decolorata female","larva"), c("larva","gut C. decolorata male"), c("gut C. decolorata female", "gut C. decolorata male"), c("gut C. decolorata male", "pollen provision"), c("gut C. decolorata female", "pollen provision"), c("larva", "pollen provision"))

p <- plot_richness(physeq, x = "sample_type", measures = c("Chao1", "Shannon"), scales="free_y")


p+ geom_boxplot(aes(fill = sample_type), alpha=0.8)+ guides(fill = guide_legend(title = "Sample type of Centris decolorata and pollen provision"))+
  scale_fill_manual(values = color_cdpp, labels=c("gut C. decolorata female", "gut C. decolorata male", "larva", "pollen provision"))+
  scale_x_discrete(labels=c("gut C. decolorata female", "gut C. decolorata male", "larva", "pollen provision"))+
  xlab("Sample type")+
  theme(axis.title.x =element_text(size=15), axis.title.y =element_text(size=15), axis.text.y = element_text(size=15),
        legend.text = element_text(size=15), 
        strip.text = element_text(size=15),
        legend.title=element_markdown(size=15), axis.text.x = element_text(size=15), 
        legend.justification = "center",
        legend.text.align = 0) -> p1


p1 + stat_compare_means(comparisons = my_comparisons, label="p.signif", method = 'kruskal.test',
                        hide.ns = FALSE,
                        symnum.args = list(cutpoints = c(0, 0.0001, 0.001, 0.01, 0.05, 1), 
                                           symbols = c("*", "*", "", "", "ns")))

We receive the following error:

Warning messages:

1: Computation failed in stat_signif():
'x' and 'g' must have the same length
2: Computation failed in stat_signif():
'x' and 'g' must have the same length

We would greatly appreciate any insight on to why we receive this error message and how we could fix it.

microbiomeDataSets Microbiome • 2.1k views
ADD COMMENT
0
Entering edit mode

Have you tried to replace method by test? stat_compare_means(comparisons = my_comparisons, label="p.signif", test = 'kruskal.test' ...)

ADD REPLY
0
Entering edit mode

Hello Basti,

Thanks for suggesting this. I've tried it (I saw that in StackoverFlow I think), but it seems the value of the argument test = "kruskal.test" is not recognized by R. So even though R doesn't give any error after this argument, it seems it does nott recognize it and just does a Wilcoxon test (it gives the same values as when using method = "wilcox.test").

ADD REPLY

Login before adding your answer.

Traffic: 359 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6