{"id":16608,"date":"2020-05-29T07:43:37","date_gmt":"2020-05-29T06:43:37","guid":{"rendered":"https:\/\/www.datanovia.com\/en\/?p=16608"},"modified":"2020-06-27T21:12:03","modified_gmt":"2020-06-27T20:12:03","slug":"how-to-add-p-values-to-ggplot-facets","status":"publish","type":"post","link":"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/","title":{"rendered":"How to Add P-values to GGPLOT Facets"},"content":{"rendered":"<div id=\"rdoc\">\n<p>This article describes how to compute and automatically <strong>add p-values onto ggplot facets<\/strong> using the <em>ggpubr<\/em> and the <em>rstatix<\/em> R packages.<\/p>\n<p>You will learn how to:<\/p>\n<ul>\n<li>Add p-values to a multipanel facet plots containing two or more groups by panel. Examples are shown for box plots and bar plots.<\/li>\n<li>Add p-values to a faceted grouped plots (box plots and bar plots). Examples, containing three groups by x position, are shown.<\/li>\n<li>Display the p-values combined with the significance levels onto the plots<\/li>\n<\/ul>\n<p>We will follow the steps below for adding significance levels onto a ggplot:<\/p>\n<div class=\"block\">\n<ol style=\"list-style-type: decimal;\">\n<li>Compute easily statistical tests (<code>t_test()<\/code> or <code>wilcox_test()<\/code>) using the <code>rstatix<\/code> package<\/li>\n<li>Auto-compute p-value label positions using the function <code>add_xy_position()<\/code> [in rstatix package].<\/li>\n<li>Add the p-values to the plot using the function <code>stat_pvalue_manual()<\/code> [in ggpubr package]. The following key options are illustrated in some of the examples:\n<ul>\n<li>The option <code>bracket.nudge.y<\/code> is used to move up or to move down the brackets.<\/li>\n<li>The option <code>step.increase<\/code> is used to add more space between brackets.<\/li>\n<li>The option <code>vjust<\/code> is used to vertically adjust the position of the p-values labels<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/div>\n<p>Note that, in some situations, the p-value labels are partially hidden by the plot top border. In these cases, the ggplot2 function <code>scale_y_continuous(expand = expansion(mult = c(0, 0.1)))<\/code> can be used to <a href=\"https:\/\/www.datanovia.com\/en\/blog\/ggplot-facet-how-to-add-space-between-labels-on-the-top-of-the-chart-and-the-plot-border\/\">add more spaces between labels and the plot top border<\/a>. The option <code>mult = c(0, 0.1)<\/code> indicates that 0% and 10% spaces are respectively added at the bottom and the top of the plot.<\/p>\n<p>Contents:<\/p>\n<div id=\"TOC\">\n<ul>\n<li><a href=\"#prerequisites\">Prerequisites<\/a><\/li>\n<li><a href=\"#data-preparation\">Data preparation<\/a><\/li>\n<li><a href=\"#multipanel-plots-containing-two-groups-by-panel\">Multipanel plots containing two groups by panel<\/a>\n<ul>\n<li><a href=\"#facet-wrap-by-one-variable\">Facet wrap by one variable<\/a><\/li>\n<li><a href=\"#facet-grid-by-two-variables\">Facet grid by two variables<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#multipanel-plots-containing-three-or-more-groups-by-panel\">Multipanel plots containing three or more groups by panel<\/a>\n<ul>\n<li><a href=\"#facet-wrap-by-one-variable-1\">Facet wrap by one variable<\/a><\/li>\n<li><a href=\"#facet-grid-by-two-variables-1\">Facet grid by two variables<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#faceted-grouped-plots\">Faceted grouped plots<\/a>\n<ul>\n<li><a href=\"#simple-plots\">Simple plots<\/a><\/li>\n<li><a href=\"#perform-all-pairwise-comparisons-1\">Perform all pairwise comparisons<\/a><\/li>\n<li><a href=\"#pairwise-comparisons-against-a-reference-group-1\">Pairwise comparisons against a reference group<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#conclusion\">Conclusion<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"prerequisites\" class=\"section level2\">\n<h2>Prerequisites<\/h2>\n<p>Make sure you have installed the following R packages:<\/p>\n<ul>\n<li><code>tidyverse<\/code> for data manipulation and visualization<\/li>\n<li><code>ggpubr<\/code> for creating easily publication ready plots<\/li>\n<li><code>rstatix<\/code> provides pipe-friendly R functions for easy statistical analyses.<\/li>\n<\/ul>\n<p>Start by loading the following required packages:<\/p>\n<pre class=\"r\"><code>library(ggpubr)\r\nlibrary(rstatix)<\/code><\/pre>\n<\/div>\n<div id=\"data-preparation\" class=\"section level2\">\n<h2>Data preparation<\/h2>\n<pre class=\"r\"><code># Transform `dose` into factor variable\r\ndf &lt;- ToothGrowth\r\ndf$dose &lt;- as.factor(df$dose)\r\n# Add a random grouping variable\r\ndf$group &lt;- factor(rep(c(\"grp1\", \"grp2\"), 30))\r\nhead(df, 3)<\/code><\/pre>\n<pre><code>##    len supp dose group\r\n## 1  4.2   VC  0.5  grp1\r\n## 2 11.5   VC  0.5  grp2\r\n## 3  7.3   VC  0.5  grp1<\/code><\/pre>\n<\/div>\n<div id=\"multipanel-plots-containing-two-groups-by-panel\" class=\"section level2\">\n<h2>Multipanel plots containing two groups by panel<\/h2>\n<div id=\"facet-wrap-by-one-variable\" class=\"section level3\">\n<h3>Facet wrap by one variable<\/h3>\n<div id=\"statistical-tests\" class=\"section level4\">\n<h4>Statistical tests<\/h4>\n<p>Facet by the <code>dose<\/code> variable and compare the levels of the <code>supp<\/code> variable on the x-axis.<\/p>\n<pre class=\"r\"><code>stat.test &lt;- df %&gt;%\r\n  group_by(dose) %&gt;%\r\n  t_test(len ~ supp) %&gt;%\r\n  adjust_pvalue(method = \"bonferroni\") %&gt;%\r\n  add_significance()\r\nstat.test <\/code><\/pre>\n<pre><code>## # A tibble: 3 x 11\r\n##   dose  .y.   group1 group2    n1    n2 statistic    df       p   p.adj p.adj.signif\r\n##   &lt;fct&gt; &lt;chr&gt; &lt;chr&gt;  &lt;chr&gt;  &lt;int&gt; &lt;int&gt;     &lt;dbl&gt; &lt;dbl&gt;   &lt;dbl&gt;   &lt;dbl&gt; &lt;chr&gt;       \r\n## 1 0.5   len   OJ     VC        10    10    3.17    15.0 0.00636 0.0191  *           \r\n## 2 1     len   OJ     VC        10    10    4.03    15.4 0.00104 0.00312 **          \r\n## 3 2     len   OJ     VC        10    10   -0.0461  14.0 0.964   1       ns<\/code><\/pre>\n<\/div>\n<div id=\"box-plots\" class=\"section level4\">\n<h4>Box plots<\/h4>\n<pre class=\"r\"><code># Create a box plot\r\nbxp &lt;- ggboxplot(\r\n  df, x = \"supp\", y = \"len\", fill = \"#00AFBB\", \r\n  facet.by = \"dose\"\r\n  )\r\n\r\n# Make facet and add p-values\r\nstat.test &lt;- stat.test %&gt;% add_xy_position(x = \"supp\")\r\nbxp + stat_pvalue_manual(stat.test)<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/ggpubr\/figures\/062-add-p-values-to-ggplot-facets-multipanel-box-plots-facet-wrap-1.png\" width=\"480\" \/><\/p>\n<pre class=\"r\"><code># Make the facet scale free and add jitter points\r\n# Move down the bracket using `bracket.nudge.y`\r\n# Hide ns (non-significant)\r\n# Show adjusted p-values and significance levels\r\n# Add 10% spaces between the p-value labels and the plot border\r\nbxp &lt;- ggboxplot(\r\n  df, x = \"supp\", y = \"len\", fill = \"#00AFBB\", \r\n  facet.by = \"dose\", scales = \"free\", add = \"jitter\"\r\n  )\r\nbxp +  \r\n  stat_pvalue_manual(\r\n    stat.test, bracket.nudge.y = -2, hide.ns = TRUE,\r\n    label = \"{p.adj}{p.adj.signif}\"\r\n    ) +\r\n  scale_y_continuous(expand = expansion(mult = c(0.05, 0.1)))<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/ggpubr\/figures\/062-add-p-values-to-ggplot-facets-multipanel-box-plots-facet-wrap-2.png\" width=\"480\" \/><\/p>\n<\/div>\n<div id=\"bar-plots\" class=\"section level4\">\n<h4>Bar plots<\/h4>\n<p>The option <code>add = \"mean_sd\"<\/code> is specified in the bar plot function for creating bar plot with error bars (mean +\/- SD). You need to specify the same summary statistics function to auto-compute p-value labels positions in <code>add_xy_position()<\/code> using the option <code>fun<\/code>.<\/p>\n<pre class=\"r\"><code># Create a bar plot with error bars (mean +\/- sd)\r\nbp &lt;- ggbarplot(\r\n  df, x = \"supp\", y = \"len\", add = \"mean_sd\", \r\n  fill = \"#00AFBB\", facet.by = \"dose\"\r\n  )\r\n\r\n# Add p-values onto the bar plots\r\nstat.test &lt;- stat.test %&gt;% add_xy_position(fun = \"mean_sd\", x = \"supp\")\r\nbp + stat_pvalue_manual(stat.test)<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/ggpubr\/figures\/062-add-p-values-to-ggplot-facets-multipanel-bar-plots-facet-wrap-1.png\" width=\"480\" \/><\/p>\n<\/div>\n<div id=\"bar-plots-with-jitter-points\" class=\"section level4\">\n<h4>Bar plots with jitter points<\/h4>\n<p>You need to specify <code>fun = \"max\"<\/code> when computing the p-value labels positions, so that the first bracket will start at the maximum of the data points. This avoids the overlap between data points and brackets.<\/p>\n<pre class=\"r\"><code># Create a bar plot with error bars (mean +\/- sd)\r\nbp &lt;- ggbarplot(\r\n  df, x = \"supp\", y = \"len\", add = c(\"mean_sd\", \"jitter\"), \r\n  fill = \"#00AFBB\", facet.by = \"dose\"\r\n  )\r\n\r\n# Add p-values onto the bar plots\r\nstat.test &lt;- stat.test %&gt;% add_xy_position(fun = \"max\", x = \"supp\")\r\nbp + stat_pvalue_manual(stat.test)<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/ggpubr\/figures\/062-add-p-values-to-ggplot-facets-multipanel-bar-plots-with-jitter-points-facet-wrap-1.png\" width=\"480\" \/><\/p>\n<\/div>\n<\/div>\n<div id=\"facet-grid-by-two-variables\" class=\"section level3\">\n<h3>Facet grid by two variables<\/h3>\n<div id=\"statistical-test\" class=\"section level4\">\n<h4>Statistical test<\/h4>\n<p>Facet by the <code>dose<\/code> and <code>group<\/code> variables, and compare the levels of the <code>supp<\/code> variable on the x-axis.<\/p>\n<pre class=\"r\"><code>stat.test &lt;- df %&gt;%\r\n  group_by(group, dose) %&gt;%\r\n  t_test(len ~ supp) %&gt;%\r\n  adjust_pvalue(method = \"bonferroni\") %&gt;%\r\n  add_significance()\r\nstat.test <\/code><\/pre>\n<pre><code>## # A tibble: 6 x 12\r\n##   dose  group .y.   group1 group2    n1    n2 statistic    df       p   p.adj p.adj.signif\r\n##   &lt;fct&gt; &lt;fct&gt; &lt;chr&gt; &lt;chr&gt;  &lt;chr&gt;  &lt;int&gt; &lt;int&gt;     &lt;dbl&gt; &lt;dbl&gt;   &lt;dbl&gt;   &lt;dbl&gt; &lt;chr&gt;       \r\n## 1 0.5   grp1  len   OJ     VC         5     5     3.71   7.35 0.00697 0.0418  *           \r\n## 2 1     grp1  len   OJ     VC         5     5     1.37   7.65 0.208   1       ns          \r\n## 3 2     grp1  len   OJ     VC         5     5    -0.485  6.52 0.643   1       ns          \r\n## 4 0.5   grp2  len   OJ     VC         5     5     1.13   5.79 0.304   1       ns          \r\n## 5 1     grp2  len   OJ     VC         5     5     6.91   5.84 0.00051 0.00306 **          \r\n## 6 2     grp2  len   OJ     VC         5     5     0.319  6.07 0.76    1       ns<\/code><\/pre>\n<\/div>\n<div id=\"box-plots-1\" class=\"section level4\">\n<h4>Box plots<\/h4>\n<pre class=\"r\"><code># Create box plots with significance levels\r\n# Hide ns (non-significant)\r\nstat.test &lt;- stat.test %&gt;% add_xy_position(x = \"supp\")\r\nggboxplot(\r\n  df, x = \"supp\", y = \"len\", fill = \"#E7B800\",\r\n  facet = c(\"group\", \"dose\")\r\n  ) +\r\n  stat_pvalue_manual(stat.test, hide.ns = TRUE)<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/ggpubr\/figures\/062-add-p-values-to-ggplot-facets-multipanel-box-plots-facet-grid-1.png\" width=\"480\" \/><\/p>\n<\/div>\n<div id=\"bar-plots-1\" class=\"section level4\">\n<h4>Bar plots<\/h4>\n<pre class=\"r\"><code># Create bar plots with significance levels\r\n# Hide ns (non-significant)\r\nstat.test &lt;- stat.test %&gt;% add_xy_position(x = \"supp\", fun = \"mean_sd\")\r\nggbarplot(\r\n  df, x = \"supp\", y = \"len\", fill = \"#E7B800\",\r\n  add = c(\"mean_sd\", \"jitter\"), facet = c(\"group\", \"dose\")\r\n  ) +\r\n  stat_pvalue_manual(stat.test, hide.ns = TRUE)<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/ggpubr\/figures\/062-add-p-values-to-ggplot-facets-multipanel-bar-plots-facet-grid-1.png\" width=\"480\" \/><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"multipanel-plots-containing-three-or-more-groups-by-panel\" class=\"section level2\">\n<h2>Multipanel plots containing three or more groups by panel<\/h2>\n<div id=\"facet-wrap-by-one-variable-1\" class=\"section level3\">\n<h3>Facet wrap by one variable<\/h3>\n<div id=\"perform-all-pairwise-comparisons\" class=\"section level4\">\n<h4>Perform all pairwise comparisons<\/h4>\n<p>Group by the <code>supp<\/code> variable and then perform pairwise comparisons between the levels of <code>dose<\/code> variable.<\/p>\n<p>Statistical test:<\/p>\n<pre class=\"r\"><code>stat.test &lt;- df %&gt;%\r\n  group_by(supp) %&gt;%\r\n  t_test(len ~ dose)\r\nstat.test<\/code><\/pre>\n<pre><code>## # A tibble: 6 x 11\r\n##   supp  .y.   group1 group2    n1    n2 statistic    df            p      p.adj p.adj.signif\r\n## * &lt;fct&gt; &lt;chr&gt; &lt;chr&gt;  &lt;chr&gt;  &lt;int&gt; &lt;int&gt;     &lt;dbl&gt; &lt;dbl&gt;        &lt;dbl&gt;      &lt;dbl&gt; &lt;chr&gt;       \r\n## 1 OJ    len   0.5    1         10    10     -5.05  17.7 0.0000878    0.000176   ***         \r\n## 2 OJ    len   0.5    2         10    10     -7.82  14.7 0.00000132   0.00000396 ****        \r\n## 3 OJ    len   1      2         10    10     -2.25  15.8 0.039        0.039      *           \r\n## 4 VC    len   0.5    1         10    10     -7.46  17.9 0.000000681  0.00000136 ****        \r\n## 5 VC    len   0.5    2         10    10    -10.4   14.3 0.0000000468 0.00000014 ****        \r\n## 6 VC    len   1      2         10    10     -5.47  13.6 0.0000916    0.0000916  ****<\/code><\/pre>\n<p>Add the p-values onto the plots. The ggplot2 function <code>scale_y_continuous(expand = expansion(mult = c(0, 0.1)))<\/code> is used to <a href=\"https:\/\/www.datanovia.com\/en\/blog\/ggplot-facet-how-to-add-space-between-labels-on-the-top-of-the-chart-and-the-plot-border\/\">add more spaces between labels and the plot top border<\/a><\/p>\n<pre class=\"r\"><code># Box plots with p-values\r\nstat.test &lt;- stat.test %&gt;% add_y_position()\r\nggboxplot(df, x = \"dose\", y = \"len\", fill = \"#FC4E07\", facet.by = \"supp\") +\r\n  stat_pvalue_manual(stat.test, label = \"p.adj.signif\", tip.length = 0.01) +\r\n  scale_y_continuous(expand = expansion(mult = c(0.05, 0.1)))<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/ggpubr\/figures\/062-add-p-values-to-ggplot-facets-faceted-plots-with-three-groups-1.png\" width=\"384\" \/><\/p>\n<pre class=\"r\"><code># Bar plot with p-values\r\n# Add 10% space on the y-axis above the box plots\r\nstat.test &lt;- stat.test %&gt;% add_y_position(fun = \"mean_sd\")\r\nggbarplot(\r\n  df, x = \"dose\", y = \"len\", fill = \"#FC4E07\",\r\n  add = \"mean_sd\", facet.by = \"supp\"\r\n  ) + \r\n  stat_pvalue_manual(stat.test,  label = \"p.adj.signif\", tip.length = 0.01) +\r\n  scale_y_continuous(expand = expansion(mult = c(0.05, 0.1)))<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/ggpubr\/figures\/062-add-p-values-to-ggplot-facets-faceted-plots-with-three-groups-2.png\" width=\"384\" \/><\/p>\n<\/div>\n<div id=\"pairwise-comparisons-against-a-reference-group\" class=\"section level4\">\n<h4>Pairwise comparisons against a reference group<\/h4>\n<p>Statistical test:<\/p>\n<pre class=\"r\"><code>stat.test &lt;- df %&gt;%\r\n  group_by(supp) %&gt;%\r\n  t_test(len ~ dose, ref.group = \"0.5\")\r\nstat.test<\/code><\/pre>\n<pre><code>## # A tibble: 4 x 11\r\n##   supp  .y.   group1 group2    n1    n2 statistic    df            p        p.adj p.adj.signif\r\n## * &lt;fct&gt; &lt;chr&gt; &lt;chr&gt;  &lt;chr&gt;  &lt;int&gt; &lt;int&gt;     &lt;dbl&gt; &lt;dbl&gt;        &lt;dbl&gt;        &lt;dbl&gt; &lt;chr&gt;       \r\n## 1 OJ    len   0.5    1         10    10     -5.05  17.7 0.0000878    0.0000878    ****        \r\n## 2 OJ    len   0.5    2         10    10     -7.82  14.7 0.00000132   0.00000264   ****        \r\n## 3 VC    len   0.5    1         10    10     -7.46  17.9 0.000000681  0.000000681  ****        \r\n## 4 VC    len   0.5    2         10    10    -10.4   14.3 0.0000000468 0.0000000936 ****<\/code><\/pre>\n<pre class=\"r\"><code># Box plots with p-values\r\nstat.test &lt;- stat.test %&gt;% add_y_position()\r\nggboxplot(df, x = \"dose\", y = \"len\", fill = \"#FC4E07\", facet.by = \"supp\") +\r\n  stat_pvalue_manual(stat.test, label = \"p.adj.signif\", tip.length = 0.01) +\r\n  scale_y_continuous(expand = expansion(mult = c(0.05, 0.1)))<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/ggpubr\/figures\/062-add-p-values-to-ggplot-facets-pairwise-comparisons-against-reference-1.png\" width=\"384\" \/><\/p>\n<pre class=\"r\"><code># Show only significance levels at x = group2\r\n# Move down significance symbols using vjust\r\nstat.test &lt;- stat.test %&gt;% add_y_position()\r\nggboxplot(df, x = \"dose\", y = \"len\", fill = \"#FC4E07\", facet.by = \"supp\") +\r\n  stat_pvalue_manual(stat.test, label = \"p.adj.signif\", x = \"group2\", vjust = 2) <\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/ggpubr\/figures\/062-add-p-values-to-ggplot-facets-pairwise-comparisons-against-reference-2.png\" width=\"384\" \/><\/p>\n<pre class=\"r\"><code># Bar plot with p-values\r\n# Add 10% space on the y-axis above the box plots\r\nstat.test &lt;- stat.test %&gt;% add_y_position(fun = \"mean_sd\")\r\nggbarplot(\r\n  df, x = \"dose\", y = \"len\", fill = \"#FC4E07\",\r\n  add = c(\"mean_sd\", \"jitter\"), facet.by = \"supp\"\r\n  ) + \r\n  stat_pvalue_manual(stat.test,  label = \"p.adj.signif\", tip.length = 0.01) +\r\n  scale_y_continuous(expand = expansion(mult = c(0.05, 0.1)))<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/ggpubr\/figures\/062-add-p-values-to-ggplot-facets-pairwise-comparisons-against-reference-3.png\" width=\"384\" \/><\/p>\n<\/div>\n<\/div>\n<div id=\"facet-grid-by-two-variables-1\" class=\"section level3\">\n<h3>Facet grid by two variables<\/h3>\n<div id=\"statistical-test-1\" class=\"section level4\">\n<h4>Statistical test<\/h4>\n<p>Facet by the <code>supp<\/code> and <code>group<\/code> variables, and compare the levels of the <code>dose<\/code> variable on the x-axis.<\/p>\n<pre class=\"r\"><code>stat.test &lt;- df %&gt;%\r\n  group_by(group, supp) %&gt;%\r\n  t_test(len ~ dose) %&gt;%\r\n  adjust_pvalue(method = \"bonferroni\") %&gt;%\r\n  add_significance()\r\nstat.test <\/code><\/pre>\n<pre><code>## # A tibble: 12 x 12\r\n##   supp  group .y.   group1 group2    n1    n2 statistic    df         p    p.adj p.adj.signif\r\n##   &lt;fct&gt; &lt;fct&gt; &lt;chr&gt; &lt;chr&gt;  &lt;chr&gt;  &lt;int&gt; &lt;int&gt;     &lt;dbl&gt; &lt;dbl&gt;     &lt;dbl&gt;    &lt;dbl&gt; &lt;chr&gt;       \r\n## 1 OJ    grp1  len   0.5    1          5     5     -2.50  7.80 0.038     0.456    ns          \r\n## 2 OJ    grp1  len   0.5    2          5     5     -5.66  7.13 0.000717  0.00860  **          \r\n## 3 OJ    grp1  len   1      2          5     5     -2.22  6.49 0.064     0.768    ns          \r\n## 4 VC    grp1  len   0.5    1          5     5     -5.33  7.54 0.000855  0.0103   *           \r\n## 5 VC    grp1  len   0.5    2          5     5     -8.81  6.75 0.0000606 0.000727 ***         \r\n## 6 VC    grp1  len   1      2          5     5     -3.84  7.67 0.005     0.06     ns          \r\n## # \u2026 with 6 more rows<\/code><\/pre>\n<\/div>\n<div id=\"box-plots-2\" class=\"section level4\">\n<h4>Box plots<\/h4>\n<pre class=\"r\"><code># Create box plots with significance levels\r\n# Hide ns (non-significant)\r\n# Add 15% space between labels and the plot top border\r\nstat.test &lt;- stat.test %&gt;% add_xy_position(x = \"dose\")\r\nggboxplot(\r\n  df, x = \"dose\", y = \"len\", fill = \"#FC4E07\",\r\n  facet = c(\"group\", \"supp\")\r\n  ) +\r\n  stat_pvalue_manual(stat.test, hide.ns = TRUE) +\r\n  scale_y_continuous(expand = expansion(mult = c(0.05, 0.15)))<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/ggpubr\/figures\/062-add-p-values-to-ggplot-facets-multipanel-box-plots-facet-grid-multiple-groups-1.png\" width=\"480\" \/><\/p>\n<\/div>\n<div id=\"bar-plots-2\" class=\"section level4\">\n<h4>Bar plots<\/h4>\n<pre class=\"r\"><code># Create bar plots with significance levels\r\n# Hide ns (non-significant)\r\n# Add 15% space between labels and the plot top border\r\nstat.test &lt;- stat.test %&gt;% add_xy_position(x = \"dose\", fun = \"mean_sd\")\r\nggbarplot(\r\n  df, x = \"dose\", y = \"len\", fill = \"#FC4E07\",\r\n  add = c(\"mean_sd\", \"jitter\"), facet = c(\"group\", \"supp\")\r\n  ) +\r\n  stat_pvalue_manual(stat.test, hide.ns = TRUE) +\r\n  scale_y_continuous(expand = expansion(mult = c(0.05, 0.15)))<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/ggpubr\/figures\/062-add-p-values-to-ggplot-facets-multipanel-bar-plots-facet-grid-multiple-groups-1.png\" width=\"480\" \/><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"faceted-grouped-plots\" class=\"section level2\">\n<h2>Faceted grouped plots<\/h2>\n<div id=\"simple-plots\" class=\"section level3\">\n<h3>Simple plots<\/h3>\n<pre class=\"r\"><code># Box plots\r\nbxp &lt;- ggboxplot(\r\n  df, x = \"supp\", y = \"len\", color = \"dose\", \r\n   palette = \"jco\", facet.by = \"group\"\r\n  )\r\nbxp <\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/ggpubr\/figures\/062-add-p-values-to-ggplot-facets-simple-box-plots-facet-1.png\" width=\"576\" \/><\/p>\n<pre class=\"r\"><code># Bar plots\r\nbp &lt;- ggbarplot(\r\n  df, x = \"supp\", y = \"len\", color = \"dose\",\r\n  palette = \"jco\", add = \"mean_sd\",\r\n  position = position_dodge(0.8),\r\n  facet.by = \"group\"\r\n  )\r\nbp<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/ggpubr\/figures\/062-add-p-values-to-ggplot-facets-simple-box-plots-facet-2.png\" width=\"576\" \/><\/p>\n<\/div>\n<div id=\"perform-all-pairwise-comparisons-1\" class=\"section level3\">\n<h3>Perform all pairwise comparisons<\/h3>\n<p>Statistical test:<\/p>\n<pre class=\"r\"><code>stat.test &lt;- df %&gt;%\r\n  group_by(supp, group) %&gt;%\r\n  t_test(len ~ dose) \r\nstat.test<\/code><\/pre>\n<pre><code>## # A tibble: 12 x 12\r\n##   supp  group .y.   group1 group2    n1    n2 statistic    df        p p.adj p.adj.signif\r\n## * &lt;fct&gt; &lt;fct&gt; &lt;chr&gt; &lt;chr&gt;  &lt;chr&gt;  &lt;int&gt; &lt;int&gt;     &lt;dbl&gt; &lt;dbl&gt;    &lt;dbl&gt; &lt;dbl&gt; &lt;chr&gt;       \r\n## 1 OJ    grp1  len   0.5    1          5     5     -2.50  7.80 0.038    0.076 ns          \r\n## 2 OJ    grp1  len   0.5    2          5     5     -5.66  7.13 0.000717 0.002 **          \r\n## 3 OJ    grp1  len   1      2          5     5     -2.22  6.49 0.064    0.076 ns          \r\n## 4 OJ    grp2  len   0.5    1          5     5     -4.85  5.65 0.003    0.007 **          \r\n## 5 OJ    grp2  len   0.5    2          5     5     -5.28  6.35 0.002    0.005 **          \r\n## 6 OJ    grp2  len   1      2          5     5     -1.00  7.69 0.347    0.347 ns          \r\n## # \u2026 with 6 more rows<\/code><\/pre>\n<p>Add p-values onto the plots:<\/p>\n<pre class=\"r\"><code># Box plots with p-values\r\n# Hide ns (non-significant)\r\nstat.test &lt;- stat.test %&gt;%\r\n  add_xy_position(x = \"supp\", dodge = 0.8)\r\nbxp + \r\n  stat_pvalue_manual(\r\n    stat.test, label = \"p.adj.signif\", tip.length = 0.01,\r\n    hide.ns = TRUE\r\n    ) +\r\n  scale_y_continuous(expand = expansion(mult = c(0.01, 0.1)))<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/ggpubr\/figures\/062-add-p-values-to-ggplot-facets-facet-grouped-plots-pairwise-p-values-1.png\" width=\"576\" \/><\/p>\n<pre class=\"r\"><code># Bar plots with p-values\r\nstat.test &lt;- stat.test %&gt;%\r\n  add_xy_position(x = \"supp\", fun = \"mean_sd\", dodge = 0.8)\r\nbp + \r\n  stat_pvalue_manual(\r\n    stat.test, label = \"p.adj.signif\", tip.length = 0.01,\r\n    hide.ns = TRUE\r\n    ) +\r\n  scale_y_continuous(expand = expansion(mult = c(0.01, 0.1)))<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/ggpubr\/figures\/062-add-p-values-to-ggplot-facets-facet-grouped-plots-pairwise-p-values-2.png\" width=\"576\" \/><\/p>\n<\/div>\n<div id=\"pairwise-comparisons-against-a-reference-group-1\" class=\"section level3\">\n<h3>Pairwise comparisons against a reference group<\/h3>\n<p>Statistical test:<\/p>\n<pre class=\"r\"><code>stat.test &lt;- df %&gt;%\r\n  group_by(supp, group) %&gt;%\r\n  t_test(len ~ dose, ref.group = \"0.5\")\r\nstat.test<\/code><\/pre>\n<pre><code>## # A tibble: 8 x 12\r\n##   supp  group .y.   group1 group2    n1    n2 statistic    df         p    p.adj p.adj.signif\r\n## * &lt;fct&gt; &lt;fct&gt; &lt;chr&gt; &lt;chr&gt;  &lt;chr&gt;  &lt;int&gt; &lt;int&gt;     &lt;dbl&gt; &lt;dbl&gt;     &lt;dbl&gt;    &lt;dbl&gt; &lt;chr&gt;       \r\n## 1 OJ    grp1  len   0.5    1          5     5     -2.50  7.80 0.038     0.038    *           \r\n## 2 OJ    grp1  len   0.5    2          5     5     -5.66  7.13 0.000717  0.001    **          \r\n## 3 OJ    grp2  len   0.5    1          5     5     -4.85  5.65 0.003     0.003    **          \r\n## 4 OJ    grp2  len   0.5    2          5     5     -5.28  6.35 0.002     0.003    **          \r\n## 5 VC    grp1  len   0.5    1          5     5     -5.33  7.54 0.000855  0.000855 ***         \r\n## 6 VC    grp1  len   0.5    2          5     5     -8.81  6.75 0.0000606 0.000121 ***         \r\n## # \u2026 with 2 more rows<\/code><\/pre>\n<p>Add p-values onto the plots:<\/p>\n<pre class=\"r\"><code># Box plots with p-values\r\nstat.test &lt;- stat.test %&gt;%\r\n  add_xy_position(x = \"supp\", dodge = 0.8)\r\nbxp + \r\n  stat_pvalue_manual(\r\n    stat.test, label = \"p.adj.signif\", tip.length = 0.01\r\n    ) +\r\n  scale_y_continuous(expand = expansion(mult = c(0.01, 0.1)))<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/ggpubr\/figures\/062-add-p-values-to-ggplot-facets-facet-grouped-plots-pairwise-p-values-ref-1.png\" width=\"576\" \/><\/p>\n<pre class=\"r\"><code># Bar plots with p-values\r\nstat.test &lt;- stat.test %&gt;%\r\n  add_xy_position(x = \"supp\", fun = \"mean_sd\", dodge = 0.8)\r\nbp + \r\n  stat_pvalue_manual(\r\n    stat.test, label = \"p.adj.signif\", tip.length = 0.01\r\n    ) +\r\n  scale_y_continuous(expand = expansion(mult = c(0.01, 0.1)))<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/ggpubr\/figures\/062-add-p-values-to-ggplot-facets-facet-grouped-plots-pairwise-p-values-ref-2.png\" width=\"576\" \/><\/p>\n<\/div>\n<\/div>\n<div id=\"conclusion\" class=\"section level2\">\n<h2>Conclusion<\/h2>\n<p>This article describes how to add p-values onto ggplot facets, such as box plots and bar plots. See other related frequently questions: <a href=\"https:\/\/www.datanovia.com\/en\/blog\/tag\/ggpubr\/\">ggpubr FAQ<\/a>.<\/p>\n<\/div>\n<\/div>\n<p><!--end rdoc--><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article describes how to compute and automatically add p-values onto ggplot facets using the ggpubr and the rstatix R packages. You will learn how to: Add p-values to a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":16609,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rating_form_position":"","rating_results_position":"","mr_structured_data_type":"","footnotes":""},"categories":[341],"tags":[343],"class_list":["post-16608","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-faq","tag-ggpubr"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Add P-values to GGPLOT Facets: Step by Step Guide - Datanovia<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Add P-values to GGPLOT Facets: Step by Step Guide - Datanovia\" \/>\n<meta property=\"og:description\" content=\"This article describes how to compute and automatically add p-values onto ggplot facets using the ggpubr and the rstatix R packages. You will learn how to: Add p-values to a [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/\" \/>\n<meta property=\"og:site_name\" content=\"Datanovia\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-29T06:43:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-06-27T20:12:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2020\/05\/062-add-p-values-to-ggplot-facets-multipanel-box-plots-facet-wrap-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"672\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Alboukadel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alboukadel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/\"},\"author\":{\"name\":\"Alboukadel\",\"@id\":\"https:\/\/www.datanovia.com\/en\/#\/schema\/person\/7767cf2bd5c91a1610c6eb53a0ff069e\"},\"headline\":\"How to Add P-values to GGPLOT Facets\",\"datePublished\":\"2020-05-29T06:43:37+00:00\",\"dateModified\":\"2020-06-27T20:12:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/\"},\"wordCount\":603,\"commentCount\":8,\"publisher\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2020\/05\/062-add-p-values-to-ggplot-facets-multipanel-box-plots-facet-wrap-1.png\",\"keywords\":[\"ggpubr\"],\"articleSection\":[\"FAQ\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/\",\"url\":\"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/\",\"name\":\"How to Add P-values to GGPLOT Facets: Step by Step Guide - Datanovia\",\"isPartOf\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2020\/05\/062-add-p-values-to-ggplot-facets-multipanel-box-plots-facet-wrap-1.png\",\"datePublished\":\"2020-05-29T06:43:37+00:00\",\"dateModified\":\"2020-06-27T20:12:03+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/#primaryimage\",\"url\":\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2020\/05\/062-add-p-values-to-ggplot-facets-multipanel-box-plots-facet-wrap-1.png\",\"contentUrl\":\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2020\/05\/062-add-p-values-to-ggplot-facets-multipanel-box-plots-facet-wrap-1.png\",\"width\":960,\"height\":672,\"caption\":\"062-add-p-values-to-ggplot-facets-multipanel-box-plots-facet-wrap-1.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.datanovia.com\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Add P-values to GGPLOT Facets\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.datanovia.com\/en\/#website\",\"url\":\"https:\/\/www.datanovia.com\/en\/\",\"name\":\"Datanovia\",\"description\":\"Data Mining and Statistics for Decision Support\",\"publisher\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.datanovia.com\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.datanovia.com\/en\/#organization\",\"name\":\"Datanovia\",\"url\":\"https:\/\/www.datanovia.com\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.datanovia.com\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2018\/09\/datanovia-logo.png\",\"contentUrl\":\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2018\/09\/datanovia-logo.png\",\"width\":98,\"height\":99,\"caption\":\"Datanovia\"},\"image\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.datanovia.com\/en\/#\/schema\/person\/7767cf2bd5c91a1610c6eb53a0ff069e\",\"name\":\"Alboukadel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.datanovia.com\/en\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ed3108646c5c7c3d188324ab972f96ad7d9975b41b94014d7f68257791be395a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ed3108646c5c7c3d188324ab972f96ad7d9975b41b94014d7f68257791be395a?s=96&d=mm&r=g\",\"caption\":\"Alboukadel\"},\"url\":\"https:\/\/www.datanovia.com\/en\/blog\/author\/kassambara\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Add P-values to GGPLOT Facets: Step by Step Guide - Datanovia","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/","og_locale":"en_US","og_type":"article","og_title":"How to Add P-values to GGPLOT Facets: Step by Step Guide - Datanovia","og_description":"This article describes how to compute and automatically add p-values onto ggplot facets using the ggpubr and the rstatix R packages. You will learn how to: Add p-values to a [&hellip;]","og_url":"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/","og_site_name":"Datanovia","article_published_time":"2020-05-29T06:43:37+00:00","article_modified_time":"2020-06-27T20:12:03+00:00","og_image":[{"width":960,"height":672,"url":"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2020\/05\/062-add-p-values-to-ggplot-facets-multipanel-box-plots-facet-wrap-1.png","type":"image\/png"}],"author":"Alboukadel","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Alboukadel","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/#article","isPartOf":{"@id":"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/"},"author":{"name":"Alboukadel","@id":"https:\/\/www.datanovia.com\/en\/#\/schema\/person\/7767cf2bd5c91a1610c6eb53a0ff069e"},"headline":"How to Add P-values to GGPLOT Facets","datePublished":"2020-05-29T06:43:37+00:00","dateModified":"2020-06-27T20:12:03+00:00","mainEntityOfPage":{"@id":"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/"},"wordCount":603,"commentCount":8,"publisher":{"@id":"https:\/\/www.datanovia.com\/en\/#organization"},"image":{"@id":"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/#primaryimage"},"thumbnailUrl":"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2020\/05\/062-add-p-values-to-ggplot-facets-multipanel-box-plots-facet-wrap-1.png","keywords":["ggpubr"],"articleSection":["FAQ"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/","url":"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/","name":"How to Add P-values to GGPLOT Facets: Step by Step Guide - Datanovia","isPartOf":{"@id":"https:\/\/www.datanovia.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/#primaryimage"},"image":{"@id":"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/#primaryimage"},"thumbnailUrl":"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2020\/05\/062-add-p-values-to-ggplot-facets-multipanel-box-plots-facet-wrap-1.png","datePublished":"2020-05-29T06:43:37+00:00","dateModified":"2020-06-27T20:12:03+00:00","breadcrumb":{"@id":"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/#primaryimage","url":"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2020\/05\/062-add-p-values-to-ggplot-facets-multipanel-box-plots-facet-wrap-1.png","contentUrl":"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2020\/05\/062-add-p-values-to-ggplot-facets-multipanel-box-plots-facet-wrap-1.png","width":960,"height":672,"caption":"062-add-p-values-to-ggplot-facets-multipanel-box-plots-facet-wrap-1.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.datanovia.com\/en\/blog\/how-to-add-p-values-to-ggplot-facets\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.datanovia.com\/en\/"},{"@type":"ListItem","position":2,"name":"How to Add P-values to GGPLOT Facets"}]},{"@type":"WebSite","@id":"https:\/\/www.datanovia.com\/en\/#website","url":"https:\/\/www.datanovia.com\/en\/","name":"Datanovia","description":"Data Mining and Statistics for Decision Support","publisher":{"@id":"https:\/\/www.datanovia.com\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.datanovia.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.datanovia.com\/en\/#organization","name":"Datanovia","url":"https:\/\/www.datanovia.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.datanovia.com\/en\/#\/schema\/logo\/image\/","url":"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2018\/09\/datanovia-logo.png","contentUrl":"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2018\/09\/datanovia-logo.png","width":98,"height":99,"caption":"Datanovia"},"image":{"@id":"https:\/\/www.datanovia.com\/en\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.datanovia.com\/en\/#\/schema\/person\/7767cf2bd5c91a1610c6eb53a0ff069e","name":"Alboukadel","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.datanovia.com\/en\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ed3108646c5c7c3d188324ab972f96ad7d9975b41b94014d7f68257791be395a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ed3108646c5c7c3d188324ab972f96ad7d9975b41b94014d7f68257791be395a?s=96&d=mm&r=g","caption":"Alboukadel"},"url":"https:\/\/www.datanovia.com\/en\/blog\/author\/kassambara\/"}]}},"multi-rating":{"mr_rating_results":[]},"_links":{"self":[{"href":"https:\/\/www.datanovia.com\/en\/wp-json\/wp\/v2\/posts\/16608","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.datanovia.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.datanovia.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.datanovia.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.datanovia.com\/en\/wp-json\/wp\/v2\/comments?post=16608"}],"version-history":[{"count":2,"href":"https:\/\/www.datanovia.com\/en\/wp-json\/wp\/v2\/posts\/16608\/revisions"}],"predecessor-version":[{"id":16994,"href":"https:\/\/www.datanovia.com\/en\/wp-json\/wp\/v2\/posts\/16608\/revisions\/16994"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.datanovia.com\/en\/wp-json\/wp\/v2\/media\/16609"}],"wp:attachment":[{"href":"https:\/\/www.datanovia.com\/en\/wp-json\/wp\/v2\/media?parent=16608"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.datanovia.com\/en\/wp-json\/wp\/v2\/categories?post=16608"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.datanovia.com\/en\/wp-json\/wp\/v2\/tags?post=16608"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}