<!DOCTYPE html> <!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Add Kruskal-Wallis Test P-values to a GGPlot — stat_kruskal_test • ggpubr</title><!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous"><script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="../bootstrap-toc.css"><script src="../bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../pkgdown.css" rel="stylesheet"><script src="../pkgdown.js"></script><script src="../extra.js"></script><meta property="og:title" content="Add Kruskal-Wallis Test P-values to a GGPlot — stat_kruskal_test"><meta property="og:description" content="Add Kruskal-Wallis test p-values to a ggplot, such as box blots, dot plots and stripcharts."><!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]> <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <![endif]--></head><body data-spy="scroll" data-target="#toc"> <div class="container template-reference-topic"> <header><div class="navbar navbar-default navbar-fixed-top" role="navigation"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <span class="navbar-brand"> <a class="navbar-link" href="../index.html">ggpubr</a> <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="">0.6.0</span> </span> </div> <div id="navbar" class="navbar-collapse collapse"> <ul class="nav navbar-nav"><li> <a href="../reference/index.html">Reference</a> </li> <li> <a href="../news/index.html">Changelog</a> </li> </ul><ul class="nav navbar-nav navbar-right"><li> <a href="https://github.com/kassambara/ggpubr/" class="external-link"> <span class="fab fa-github fa-lg"></span> </a> </li> </ul></div><!--/.nav-collapse --> </div><!--/.container --> </div><!--/.navbar --> </header><div class="row"> <div class="col-md-9 contents"> <div class="page-header"> <h1>Add Kruskal-Wallis Test P-values to a GGPlot</h1> <small class="dont-index">Source: <a href="https://github.com/kassambara/ggpubr/blob/HEAD/R/stat_kruskal_test.R" class="external-link"><code>R/stat_kruskal_test.R</code></a></small> <div class="hidden name"><code>stat_kruskal_test.Rd</code></div> </div> <div class="ref-description"> <p>Add Kruskal-Wallis test p-values to a ggplot, such as box blots, dot plots and stripcharts.</p> </div> <div id="ref-usage"> <div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">stat_kruskal_test</span><span class="op">(</span></span> <span> mapping <span class="op">=</span> <span class="cn">NULL</span>,</span> <span> data <span class="op">=</span> <span class="cn">NULL</span>,</span> <span> group.by <span class="op">=</span> <span class="cn">NULL</span>,</span> <span> label <span class="op">=</span> <span class="st">"{method}, p = {p.format}"</span>,</span> <span> label.x.npc <span class="op">=</span> <span class="st">"left"</span>,</span> <span> label.y.npc <span class="op">=</span> <span class="st">"top"</span>,</span> <span> label.x <span class="op">=</span> <span class="cn">NULL</span>,</span> <span> label.y <span class="op">=</span> <span class="cn">NULL</span>,</span> <span> step.increase <span class="op">=</span> <span class="fl">0.1</span>,</span> <span> p.adjust.method <span class="op">=</span> <span class="st">"holm"</span>,</span> <span> significance <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/list.html" class="external-link">list</a></span><span class="op">(</span><span class="op">)</span>,</span> <span> geom <span class="op">=</span> <span class="st">"text"</span>,</span> <span> position <span class="op">=</span> <span class="st">"identity"</span>,</span> <span> na.rm <span class="op">=</span> <span class="cn">FALSE</span>,</span> <span> show.legend <span class="op">=</span> <span class="cn">FALSE</span>,</span> <span> inherit.aes <span class="op">=</span> <span class="cn">TRUE</span>,</span> <span> parse <span class="op">=</span> <span class="cn">FALSE</span>,</span> <span> <span class="va">...</span></span> <span><span class="op">)</span></span></code></pre></div> </div> <div id="arguments"> <h2>Arguments</h2> <dl><dt>mapping</dt> <dd><p>Set of aesthetic mappings created by <code><a href="https://ggplot2.tidyverse.org/reference/aes.html" class="external-link">aes()</a></code>. If specified and <code>inherit.aes = TRUE</code> (the default), it is combined with the default mapping at the top level of the plot. You must supply <code>mapping</code> if there is no plot mapping.</p></dd> <dt>data</dt> <dd><p>The data to be displayed in this layer. There are three options:</p> <p>If <code>NULL</code>, the default, the data is inherited from the plot data as specified in the call to <code><a href="https://ggplot2.tidyverse.org/reference/ggplot.html" class="external-link">ggplot()</a></code>.</p> <p>A <code>data.frame</code>, or other object, will override the plot data. All objects will be fortified to produce a data frame. See <code><a href="https://ggplot2.tidyverse.org/reference/fortify.html" class="external-link">fortify()</a></code> for which variables will be created.</p> <p>A <code>function</code> will be called with a single argument, the plot data. The return value must be a <code>data.frame</code>, and will be used as the layer data. A <code>function</code> can be created from a <code>formula</code> (e.g. <code>~ head(.x, 10)</code>).</p></dd> <dt>group.by</dt> <dd><p>(optional) character vector specifying the grouping variable; it should be used only for grouped plots. Possible values are :</p><ul><li><p><code>"x.var"</code>: Group by the x-axis variable and perform the test between legend groups. In other words, the p-value is compute between legend groups at each x position</p></li> <li><p><code>"legend.var"</code>: Group by the legend variable and perform the test between x-axis groups. In other words, the test is performed between the x-groups for each legend level.</p></li> </ul></dd> <dt>label</dt> <dd><p>the column containing the label (e.g.: label = "p" or label = "p.adj"), where <code>p</code> is the p-value. Can be also an expression that can be formatted by the <code><a href="https://glue.tidyverse.org/reference/glue.html" class="external-link">glue</a>()</code> package. For example, when specifying label = "t-test, p = {p}", the expression {p} will be replaced by its value.</p></dd> <dt>label.x.npc, label.y.npc</dt> <dd><p>can be <code>numeric</code> or <code>character</code> vector of the same length as the number of groups and/or panels. If too short they will be recycled.</p><ul><li><p>If <code>numeric</code>, value should be between 0 and 1. Coordinates to be used for positioning the label, expressed in "normalized parent coordinates".</p></li> <li><p>If <code>character</code>, allowed values include: i) one of c('right', 'left', 'center', 'centre', 'middle') for x-axis; ii) and one of c( 'bottom', 'top', 'center', 'centre', 'middle') for y-axis.</p></li> </ul></dd> <dt>label.x, label.y</dt> <dd><p><code>numeric</code> Coordinates (in data units) to be used for absolute positioning of the label. If too short they will be recycled.</p></dd> <dt>step.increase</dt> <dd><p>numeric vector with the increase in fraction of total height for every additional comparison to minimize overlap.</p></dd> <dt>p.adjust.method</dt> <dd><p>method for adjusting p values (see <code><a href="https://rdrr.io/r/stats/p.adjust.html" class="external-link">p.adjust</a></code>). Has impact only in a situation, where multiple pairwise tests are performed; or when there are multiple grouping variables. Allowed values include "holm", "hochberg", "hommel", "bonferroni", "BH", "BY", "fdr", "none". If you don't want to adjust the p value (not recommended), use p.adjust.method = "none".</p></dd> <dt>significance</dt> <dd><p>a list of arguments specifying the signifcance cutpoints and symbols. For example, <code>significance <- list(cutpoints = c(0, 0.0001, 0.001, 0.01, 0.05, Inf), symbols = c("****", "***", "**", "*", "ns"))</code>.</p> <p>In other words, we use the following convention for symbols indicating statistical significance:</p><ul><li><p><code>ns</code>: p > 0.05</p></li> <li><p><code>*</code>: p <= 0.05</p></li> <li><p><code>**</code>: p <= 0.01</p></li> <li><p><code>***</code>: p <= 0.001</p></li> <li><p><code>****</code>: p <= 0.0001</p></li> </ul></dd> <dt>geom</dt> <dd><p>The geometric object to use to display the data, either as a <code>ggproto</code> <code>Geom</code> subclass or as a string naming the geom stripped of the <code>geom_</code> prefix (e.g. <code>"point"</code> rather than <code>"geom_point"</code>)</p></dd> <dt>position</dt> <dd><p>Position adjustment, either as a string naming the adjustment (e.g. <code>"jitter"</code> to use <code>position_jitter</code>), or the result of a call to a position adjustment function. Use the latter if you need to change the settings of the adjustment.</p></dd> <dt>na.rm</dt> <dd><p>If FALSE (the default), removes missing values with a warning. If TRUE silently removes missing values.</p></dd> <dt>show.legend</dt> <dd><p>logical. Should this layer be included in the legends? <code>NA</code>, the default, includes if any aesthetics are mapped. <code>FALSE</code> never includes, and <code>TRUE</code> always includes. It can also be a named logical vector to finely select the aesthetics to display.</p></dd> <dt>inherit.aes</dt> <dd><p>If <code>FALSE</code>, overrides the default aesthetics, rather than combining with them. This is most useful for helper functions that define both data and aesthetics and shouldn't inherit behaviour from the default plot specification, e.g. <code><a href="https://ggplot2.tidyverse.org/reference/borders.html" class="external-link">borders()</a></code>.</p></dd> <dt>parse</dt> <dd><p>If TRUE, the labels will be parsed into expressions and displayed as described in <code><a href="https://rdrr.io/r/grDevices/plotmath.html" class="external-link">?plotmath</a></code>.</p></dd> <dt>...</dt> <dd><p>other arguments passed to the function <code><a href="geom_bracket.html">geom_bracket()</a></code> or <code><a href="https://ggplot2.tidyverse.org/reference/geom_text.html" class="external-link">geom_text()</a></code></p></dd> </dl></div> <div id="computed-variables"> <h2>Computed variables</h2> <p></p><ul><li><p>statistic: the Kruskal-Wallis rank sum chi-squared statistic used to compute the p-value.</p></li> <li><p>p: p-value.</p></li> <li><p>p.adj: Adjusted p-values.</p></li> <li><p>p.signif: P-value significance.</p></li> <li><p>p.adj.signif: Adjusted p-value significance.</p></li> <li><p>p.format: Formated p-value.</p></li> <li><p>p.adj.format: Formated adjusted p-value.</p></li> <li><p>n: number of samples.</p></li> </ul></div> <div id="ref-examples"> <h2>Examples</h2> <div class="sourceCode"><pre class="sourceCode r"><code><span class="r-in"><span><span class="co"># Data preparation</span></span></span> <span class="r-in"><span><span class="co">#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span></span></span> <span class="r-in"><span><span class="co"># Transform `dose` into factor variable</span></span></span> <span class="r-in"><span><span class="va">df</span> <span class="op"><-</span> <span class="va">ToothGrowth</span></span></span> <span class="r-in"><span><span class="va">df</span><span class="op">$</span><span class="va">dose</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/factor.html" class="external-link">as.factor</a></span><span class="op">(</span><span class="va">df</span><span class="op">$</span><span class="va">dose</span><span class="op">)</span></span></span> <span class="r-in"><span><span class="co"># Add a random grouping variable</span></span></span> <span class="r-in"><span><span class="fu"><a href="https://rdrr.io/r/base/Random.html" class="external-link">set.seed</a></span><span class="op">(</span><span class="fl">123</span><span class="op">)</span></span></span> <span class="r-in"><span><span class="va">df</span><span class="op">$</span><span class="va">group</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/sample.html" class="external-link">sample</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/factor.html" class="external-link">factor</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/rep.html" class="external-link">rep</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="st">"grp1"</span>, <span class="st">"grp2"</span>, <span class="st">"grp3"</span><span class="op">)</span>, <span class="fl">20</span><span class="op">)</span><span class="op">)</span><span class="op">)</span></span></span> <span class="r-in"><span><span class="va">df</span><span class="op">$</span><span class="va">len</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/ifelse.html" class="external-link">ifelse</a></span><span class="op">(</span><span class="va">df</span><span class="op">$</span><span class="va">group</span> <span class="op">==</span> <span class="st">"grp2"</span>, <span class="va">df</span><span class="op">$</span><span class="va">len</span><span class="op">+</span><span class="fl">2</span>, <span class="va">df</span><span class="op">$</span><span class="va">len</span><span class="op">)</span></span></span> <span class="r-in"><span><span class="va">df</span><span class="op">$</span><span class="va">len</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/ifelse.html" class="external-link">ifelse</a></span><span class="op">(</span><span class="va">df</span><span class="op">$</span><span class="va">group</span> <span class="op">==</span> <span class="st">"grp3"</span>, <span class="va">df</span><span class="op">$</span><span class="va">len</span><span class="op">+</span><span class="fl">7</span>, <span class="va">df</span><span class="op">$</span><span class="va">len</span><span class="op">)</span></span></span> <span class="r-in"><span><span class="fu"><a href="https://rdrr.io/r/utils/head.html" class="external-link">head</a></span><span class="op">(</span><span class="va">df</span>, <span class="fl">3</span><span class="op">)</span></span></span> <span class="r-out co"><span class="r-pr">#></span> len supp dose group</span> <span class="r-out co"><span class="r-pr">#></span> 1 4.2 VC 0.5 grp1</span> <span class="r-out co"><span class="r-pr">#></span> 2 18.5 VC 0.5 grp3</span> <span class="r-out co"><span class="r-pr">#></span> 3 14.3 VC 0.5 grp3</span> <span class="r-in"><span></span></span> <span class="r-in"><span></span></span> <span class="r-in"><span><span class="co"># Basic boxplot</span></span></span> <span class="r-in"><span><span class="co">#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span></span></span> <span class="r-in"><span><span class="co"># Create a basic boxplot</span></span></span> <span class="r-in"><span><span class="co"># Add 5% and 10% space to the plot bottom and the top, respectively</span></span></span> <span class="r-in"><span><span class="va">bxp</span> <span class="op"><-</span> <span class="fu"><a href="ggboxplot.html">ggboxplot</a></span><span class="op">(</span><span class="va">df</span>, x <span class="op">=</span> <span class="st">"dose"</span>, y <span class="op">=</span> <span class="st">"len"</span><span class="op">)</span> <span class="op">+</span></span></span> <span class="r-in"><span> <span class="fu"><a href="https://ggplot2.tidyverse.org/reference/scale_continuous.html" class="external-link">scale_y_continuous</a></span><span class="op">(</span>expand <span class="op">=</span> <span class="fu"><a href="https://ggplot2.tidyverse.org/reference/expansion.html" class="external-link">expansion</a></span><span class="op">(</span>mult <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="fl">0.05</span>, <span class="fl">0.1</span><span class="op">)</span><span class="op">)</span><span class="op">)</span></span></span> <span class="r-in"><span></span></span> <span class="r-in"><span><span class="co"># Add the p-value to the boxplot</span></span></span> <span class="r-in"><span><span class="va">bxp</span> <span class="op">+</span> <span class="fu">stat_kruskal_test</span><span class="op">(</span><span class="op">)</span></span></span> <span class="r-plt img"><img src="stat_kruskal_test-1.png" alt="" width="700" height="433"></span> <span class="r-in"><span></span></span> <span class="r-in"><span><span class="co"># Change the label position</span></span></span> <span class="r-in"><span><span class="co"># Using coordinates in data units</span></span></span> <span class="r-in"><span><span class="va">bxp</span> <span class="op">+</span> <span class="fu">stat_kruskal_test</span><span class="op">(</span>label.x <span class="op">=</span> <span class="st">"1"</span>, label.y <span class="op">=</span> <span class="fl">10</span>, hjust <span class="op">=</span> <span class="fl">0</span><span class="op">)</span></span></span> <span class="r-plt img"><img src="stat_kruskal_test-2.png" alt="" width="700" height="433"></span> <span class="r-in"><span></span></span> <span class="r-in"><span><span class="co"># Format the p-value differently</span></span></span> <span class="r-in"><span><span class="va">custom_p_format</span> <span class="op"><-</span> <span class="kw">function</span><span class="op">(</span><span class="va">p</span><span class="op">)</span> <span class="op">{</span></span></span> <span class="r-in"><span> <span class="fu">rstatix</span><span class="fu">::</span><span class="fu"><a href="https://rpkgs.datanovia.com/rstatix/reference/p_value.html" class="external-link">p_format</a></span><span class="op">(</span><span class="va">p</span>, accuracy <span class="op">=</span> <span class="fl">0.0001</span>, digits <span class="op">=</span> <span class="fl">3</span>, leading.zero <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span></span></span> <span class="r-in"><span><span class="op">}</span></span></span> <span class="r-in"><span><span class="va">bxp</span> <span class="op">+</span> <span class="fu">stat_kruskal_test</span><span class="op">(</span></span></span> <span class="r-in"><span> label <span class="op">=</span> <span class="st">"Kruskal-Wallis, italic(p) = {custom_p_format(p)}{p.signif}"</span></span></span> <span class="r-in"><span><span class="op">)</span></span></span> <span class="r-wrn co"><span class="r-pr">#></span> <span class="warning">Warning: </span>Computation failed in `stat_compare_multiple_means()`</span> <span class="r-wrn co"><span class="r-pr">#></span> Caused by error in `mutate()`:</span> <span class="r-wrn co"><span class="r-pr">#></span> <span style="color: #BBBB00;">!</span> Problem while computing `label = glue(label)`.</span> <span class="r-wrn co"><span class="r-pr">#></span> Caused by error in `custom_p_format()`:</span> <span class="r-wrn co"><span class="r-pr">#></span> <span style="color: #BBBB00;">!</span> could not find function "custom_p_format"</span> <span class="r-plt img"><img src="stat_kruskal_test-3.png" alt="" width="700" height="433"></span> <span class="r-in"><span></span></span> <span class="r-in"><span><span class="co"># Show a detailed label in italic</span></span></span> <span class="r-in"><span><span class="va">bxp</span> <span class="op">+</span> <span class="fu">stat_kruskal_test</span><span class="op">(</span>label <span class="op">=</span> <span class="st">"as_detailed_italic"</span><span class="op">)</span></span></span> <span class="r-plt img"><img src="stat_kruskal_test-4.png" alt="" width="700" height="433"></span> <span class="r-in"><span></span></span> <span class="r-in"><span></span></span> <span class="r-in"><span><span class="co"># Faceted plots</span></span></span> <span class="r-in"><span><span class="co">#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span></span></span> <span class="r-in"><span><span class="co"># Create a ggplot facet</span></span></span> <span class="r-in"><span><span class="va">bxp</span> <span class="op"><-</span> <span class="fu"><a href="ggboxplot.html">ggboxplot</a></span><span class="op">(</span><span class="va">df</span>, x <span class="op">=</span> <span class="st">"dose"</span>, y <span class="op">=</span> <span class="st">"len"</span>, facet.by <span class="op">=</span> <span class="st">"supp"</span><span class="op">)</span> <span class="op">+</span></span></span> <span class="r-in"><span> <span class="fu"><a href="https://ggplot2.tidyverse.org/reference/scale_continuous.html" class="external-link">scale_y_continuous</a></span><span class="op">(</span>expand <span class="op">=</span> <span class="fu"><a href="https://ggplot2.tidyverse.org/reference/expansion.html" class="external-link">expansion</a></span><span class="op">(</span>mult <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="fl">0.05</span>, <span class="fl">0.1</span><span class="op">)</span><span class="op">)</span><span class="op">)</span></span></span> <span class="r-in"><span><span class="co"># Add p-values</span></span></span> <span class="r-in"><span><span class="va">bxp</span> <span class="op">+</span> <span class="fu">stat_kruskal_test</span><span class="op">(</span><span class="op">)</span></span></span> <span class="r-plt img"><img src="stat_kruskal_test-5.png" alt="" width="700" height="433"></span> <span class="r-in"><span></span></span> <span class="r-in"><span></span></span> <span class="r-in"><span><span class="co"># Grouped plots</span></span></span> <span class="r-in"><span><span class="co">#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span></span></span> <span class="r-in"><span><span class="va">bxp2</span> <span class="op"><-</span> <span class="fu"><a href="ggboxplot.html">ggboxplot</a></span><span class="op">(</span><span class="va">df</span>, x <span class="op">=</span> <span class="st">"group"</span>, y <span class="op">=</span> <span class="st">"len"</span>, color <span class="op">=</span> <span class="st">"dose"</span>, palette <span class="op">=</span> <span class="st">"npg"</span><span class="op">)</span></span></span> <span class="r-in"><span></span></span> <span class="r-in"><span><span class="co"># For each x-position, computes tests between legend groups</span></span></span> <span class="r-in"><span><span class="va">bxp2</span> <span class="op">+</span> <span class="fu">stat_kruskal_test</span><span class="op">(</span><span class="fu"><a href="https://ggplot2.tidyverse.org/reference/aes.html" class="external-link">aes</a></span><span class="op">(</span>group <span class="op">=</span> <span class="va">dose</span><span class="op">)</span>, label <span class="op">=</span> <span class="st">"p = {p.format}{p.signif}"</span><span class="op">)</span></span></span> <span class="r-plt img"><img src="stat_kruskal_test-6.png" alt="" width="700" height="433"></span> <span class="r-in"><span></span></span> <span class="r-in"><span><span class="co"># For each legend group, computes tests between x variable groups</span></span></span> <span class="r-in"><span><span class="va">bxp2</span> <span class="op">+</span> <span class="fu">stat_kruskal_test</span><span class="op">(</span><span class="fu"><a href="https://ggplot2.tidyverse.org/reference/aes.html" class="external-link">aes</a></span><span class="op">(</span>group <span class="op">=</span> <span class="va">dose</span>, color <span class="op">=</span> <span class="va">dose</span><span class="op">)</span>, group.by <span class="op">=</span> <span class="st">"legend.var"</span><span class="op">)</span></span></span> <span class="r-plt img"><img src="stat_kruskal_test-7.png" alt="" width="700" height="433"></span> <span class="r-in"><span></span></span> </code></pre></div> </div> </div> <div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar"> <nav id="toc" data-toggle="toc" class="sticky-top"><h2 data-toc-skip>Contents</h2> </nav></div> </div> <footer><div class="copyright"> <p></p><p>Developed by Alboukadel Kassambara.</p> </div> <div class="pkgdown"> <p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p> </div> </footer></div> </body></html>