Добавление скорректированных значений p к графикам ggplot - PullRequest
0 голосов
/ 18 октября 2018

Я знаю, что этот вопрос задавался ранее, и я смотрел на решения, но они не работают для моей ситуации.У меня есть небольшой набор данных (BCAAparams), который содержит значения Km и Vmax для фермента в присутствии различных концентраций ингибитора (переменными являются Km, Vmax и Conc (для ингибитора)), n = 6 для каждого.

Km  Vmax    Conc
0.32761 0.66823 0
0.31735 0.61598 0
0.462   0.722   0
0.31537 0.75304 0
0.28596 0.69695 0
0.25033 0.6482  0
0.24417 0.56245 2
0.25671 0.55012 2
0.24481 0.5027  2
0.2128  0.627   2
0.25104 0.64405 2
0.27557 0.65705 2
0.15244 0.46027 10
0.15438 0.41831 10
0.1457  0.37902 10
0.15884 0.52568 10
0.16006 0.5068  10
0.14318 0.47678 10
0.0879  0.34372 20
0.09132 0.32773 20
0.07899 0.28851 20
0.09257 0.38427 20
0.09333 0.37988 20
0.09315 0.36979 20

Я хочу проанализировать влияние ингибитора на каждый из параметров ферментов, например,

ggplot(BCAAparams, aes(group=Conc, x=Conc, y=Km)) +
geom_boxplot(notch=FALSE) + labs(x="BCAA conc (mM)", y="Km (mM)")

enter image description here

Я использую ggpubr и могу успешно сравнить средства разных групп (концентрации ингибитора)

compare_means(Km ~ Conc, data = BCAAparams, method = "t.test") 

# A tibble: 6 x 8
.y.   group1 group2            p       p.adj p.format p.signif method
<chr> <chr>  <chr>         <dbl>       <dbl> <chr>    <chr>    <chr> 
1 Km    0      2      0.0432       0.043       0.04317  *        T-test
2 Km    0      10     0.00190      0.0038      0.00190  **       T-test
3 Km    0      20     0.000461     0.0014      0.00046  ***      T-test
4 Km    2      10     0.0000342    0.000140    3.4e-05  ****     T-test
5 Km    2      20     0.00000276   0.000014    2.8e-06  ****     T-test
6 Km    10     20     0.0000000135 0.000000081 1.3e-08  ****     T-test

Проблема в том, что я не могу найти способ добавления команды stat_compare_means, котораяЯ бы поставил скобки и связанные с ними скорректированные значения p на мой блок-график, например:

my_comparisons <- list(c("0", "2"), c("0", "10"), c("0", "20"), 
c("2","10"), c("2", "20"), c("10", "20"))

ggplot(BCAAparams, aes(group=Conc, x=Conc, y=Km)) +
geom_boxplot(notch=FALSE) + stat_compare_means(aes(label = "p.adj"), 
comparisons = my_comparisons, method = "t.test") + labs(x="BCAA conc 
(mM)", y="Km(mM)")

Я получаю ошибку «Дискретное значение передается в непрерывном масштабе».Я попытался переместить команду stat_compare_means в другие «места» в коде, а также попробовал то, что видел в других постах, отвечая на аналогичные вопросы, настроив блок-график как объект, а затем добавив к нему stat_compare_means.но ничего подобного не работает.У кого-нибудь есть идеи, что я делаю неправильно?

...