自动将 p 值添加到构面图

2023-12-03

我使用以下命令制作了下面的分面图:

    ggplot(data, aes(factor(Length),logFC)),
 + geom_boxplot(fill = "grey90"),
 +  coord_cartesian(ylim=c(-5,5)) + facet_grid(X~Modification)

有没有办法计算每个箱线图的 p 值并将它们添加为每个箱线图上方的 geom_text 。我想计算 t 检验并与 y=0 进行比较。

我的数据如下所示:

    X Length          logFC     Modification
 Daub     26    -0.7307060811           NTA
 Daub     22    -0.3325621272           NTA
 Daub     22    -2.0579390395           NTA
 Daub     25     2.7199391457           NTA
 Daub     23    -0.0009869389           NTA
 Daub     25    -0.3318842493           NTA
 ...

enter image description here

我的错误信息:

> data <- structure(list(Experiment = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 
+                                                 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
+                                                 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
+                                                 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
+                                                 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
+                                                 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
+                                                 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
+                                                 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
+                                                 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
+                                                 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 
+                                                 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
+                                                 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
+                                                 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
+                                                 3L, 3L, 3L, 3L, 3L, 
+                                                 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
+                                                 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), .Label = c("Daub", "Marie", 
+                                                                                                 "Meister"), class = "factor"), Length = c(26L, 22L, 22L, 25L, 
+                                                                                                                                           23L, 25L, 23L, 25L, 24L, 23L, 24L, 26L, 24L, 21L, 20L, 21L, 22L, 
+                                                   22L, 21L, 21L, 21L, 22L, 21L, 22L, 21L, 21L, 20L, 20L, 21L, 25L, 
+                                                                                                                                           20L, 22L, 24L, 22L, 23L, 24L, 23L, 23L, 22L, 22L, 22L, 22L, 21L, 
+                                                                                                                                           19L, 21L, 20L, 20L, 20L, 19L, 19L, 19L, 22L, 23L, 23L, 22L, 23L, 
+                                                                                                                                           22L, 20L, 21L, 24L, 24L, 24L, 25L, 24L, 21L, 20L, 23L, 23L, 20L, 
+                                                                                                                                           23L, 23L, 24L, 20L, 21L, 22L, 24L, 23L, 22L, 23L, 22L, 23L, 23L, 
+                                                                                                                                           19L, 21L, 23L, 24L, 22L, 23L, 23L, 21L, 22L, 20L, 22L, 23L, 25L, 
+                                                                                                                                           22L, 22L, 23L, 22L, 23L, 25L, 25L, 24L, 24L, 23L, 22L, 22L, 25L, 
+                                                                                                                                           23L, 24L, 23L, 23L, 22L, 22L, 25L, 23L, 22L, 25L, 21L, 19L, 21L, 
+                                                                                                                                           23L, 22L, 22L, 20L, 20L, 20L, 23L, 22L, 21L, 21L, 23L, 23L, 23L, 
+                                                                                                                                           21L, 25L, 23L, 24L, 24L, 23L, 23L, 23L, 21L, 22L, 21L, 21L, 23L, 
+                                                                                                                                           23L, 22L, 22L, 21L, 22L, 22L, 25L, 24L, 24L, 22L, 24L, 24L, 23L, 
+                                                                                                                                           22L, 21L, 22L, 23L, 20L, 22L, 23L, 24L, 25L, 24L, 25L, 22L, 23L, 
+                                                                                                                                           24L, 21L, 25L, 23L, 19L, 21L, 21L, 22L, 20L, 21L, 18L, 20L, 20L, 
+                                                                                                                                           21L, 20L, 23L, 19L, 19L, 22L, 22L, 22L, 22L, 22L, 21L, 22L, 24L, 
+                                                                                                                                           20L, 21L, 22L, 22L, 21L, 21L, 21L, 21L, 21L, 23L, 23L, 23L, 25L, 
+                                                                                                                                           25L, 25L, 23L, 24L, 24L, 24L, 24L, 24L, 24L, 25L, 25L), logFC = c(-0.7307060811, 
+                                                                                                                                                                                                             -0.3325621272, -2.0579390395, 2.7199391457, -0.0009869389, -0.3318842493, 
+                                                                                                                                                                                                             -2.1922199037, -1.8907961065, -1.9059255014, -0.2815081355, -0.2040330335, 
+                                                                                                                                                                                                             3.661469505, 0.6489955587, -0.0261245467, -1.4312409441, -1.1199604078, 
+                                                                                                                                                                                                             -1.6528592355, -2.8208936451, -0.7207549269, -1.6528592355, -1.2540377475, 
+                                                                                                                                                                                                             -2.1088724443, -2.1088724443, -1.5556550771, -1.5556550771, -0.2899601367, 
+                                                                                                                                                                                                             0.36449851, -1.7787723427, -1.5556550771, -1.5556550771, -1.5556550771, 
+                                                                                                                                                                                                             -2.1092566794, 0.0417776477, -3.0768675589, -4.2573082637, -1.5556550771, 
+                                                                                                                                                                                                             -1.8493703566, -0.7310899725, -2.8201262449, -0.7203706918, -2.1088724443, 
+                                                                                                                                                                                                             -3.5714106365, -1.5556550771, -1.2144625017, 1.6608916211, -0.3147141406, 
+                                                                                                                                                                                                             1.2344697053, 1.2303596917, 1.2138067782, 0.9409846988, 0.5270928206, 
+                                                                                                                                                                                                             -1.0435216994, -1.4320081419, -1.1644217165, -1.1478237529, -0.9941196613, 
+                                                                                                                                                                                                             0.0762668692, 1.0076747803, 0.0679302699, -0.4852244221, 0.7792467457, 
+                                                                                                                                                                                                             0.4902414285, 1.6172022872, 0.5270928206, -1.5403877099, -0.3322684844, 
+                                                                                                                                                                                                             0.0965099283, 0.8067662712, -0.3322684844, -1.2928579903, 0.6067208763, 
+                                                                                                                                                                                                             0.0247576412, -0.0291609233, -0.4737578429, 0.0743062433, 0.1126554177, 
+                                                                                                                                                                                                             -0.0156954476, 1.1069888258, -0.956482117, -0.2829742145, 0.8511530937, 
+                                                                                                                                                                                                             -0.1571780266, -1.2033199926, -1.1883052896, -0.0619556757, -0.7813018565, 
+                                                                                                                                                                                                             2.2467468049, 2.8382841074, 0.5658773933, -0.4461699001, -0.7409548873, 
+                                                                                                                                                                                                             -0.992979577, -1.0966445642, -0.8035321174, 0.4586171366, -0.2760821893, 
+                                                                                                                                                                                                             0.0585422656, 0.0328935437, 0.3858231436, -0.4374188039, 1.1166538873, 
+                                                                                                                                                                                                             -1.6539303789, 0.2027459981, -0.2193112677, -0.3939953745, -1.6726108643, 
+                                                                                                                                                                                                             1.1518720793, 2.2517568637, -0.561147283, -2.1625509666, -1.65562751, 
+                                                                                                                                                                                                             -0.9048469063, -1.0759388341, 0.4938537603, 1.8754485108, -1.5944759871, 
+                                                                                                                                                                                                             1.0688499798, 2.6559945275, -1.908097968, -1.9214219995, -2.9675169126, 
+                                                                                                                                                                                                             0.0365892303, -0.8345258687, -1.0535567925, -2.0036191122, -1.6843791204, 
+                                                                                                                                                                                                             -2.5554312825, -1.5778268888, -1.576142107, -0.9398408101, 2.4453250675, 
+                                                                                                                                                                                                             -1.5434092122, -0.794414515, -0.6200158513, 0.5556353409, -1.0772272444, 
+                                                                                                                                                                                                             -0.8720587283, -0.8082062813, -0.7353916189, 0.1072543637, 0.5658773933, 
+                                                                                                                                                                                                             0.13043531, -0.0154958912, -0.868710614, -0.1922496916, 1.0682890388, 
+                                                                                                                                                                                                             -1.673413308, -0.9581901784, -1.9575141988, -1.8973257122, 1.4967046965, 
+                                                                                                                                                                                                             -2.456068976, -1.4577030552, -4.2692094743, -1.9124787897, -1.4993411082, 
+                                                                                                                                                                                                             -0.6409837734, 0.6369441273, -0.9960964825, -5.9703084924, -1.97960268, 
+                                                                                                                                                                                                             -1.2422870608, -1.5170124157, -1.9021683731, 3.4029417731, 0.1812972171, 
+                                                                                                                                                                                                             -1.6370149729, -1.749015407, -2.1677341592, -1.4942545905, -1.1137758818, 
+                                                                                                                                                                                                             -1.2428452903, -1.3014446584, 0.0287537402, -0.8721416458, -2.4062762035, 
+                                                                                                                                                                                                             -4.0278899462, -2.2229120764, -1.5950383235, -3.6098212725, -2.5979636046, 
+                                                                                                                                                                                                             0.3631424981, 1.1377073609, 0.5151459494, 0.0640542096, -0.7715375264, 
+                                                                                                                                                                                                             -1.0361077101, -0.2462753448, -2.3058140776, -0.0847179004, -0.518970228, 
+                                                                                                                                                                                                             0.8519432911, 1.9516260022, -0.5706154628, 1.240812729, 0.336736001, 
+                                                                                                                                                                                                             2.2509464232, -0.322918086, -4.4019571741, -0.5618441487, 3.4700721641, 
+                                                                                                                                                                                                             -3.9220135953, -2.1968879291, -0.1362995026, 2.164094913, -1.0688563363, 
+                                                                                                                                                                                                             0.4302583643, 2.6411096027, -3.020513717, -1.5395519303, -2.2219591633, 
+                                                                                                                                                                                                             -3.8891956255, 0.9602784132, -0.6470571429, 1.853151793, -0.3271268741, 
+                                                                                                                                                                                                             -0.9870872828, -2.516770073, -1.2898235194, -1.7246627604, -0.61328192, 
+                                                                                                                                                                                                             -3.5457352204, -2.5068717697), Modification = structure(c(1L, 
+                                                                                                                                                                                                                                                                       1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 4L, 4L, 4L, 4L, 
+                                                                                                                                                                                                                                                                       4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 
+                                                                                                                                                                                                                                                                       5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
+                                                                                                                                                                                                                                                                       3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 2L, 2L, 2L, 2L, 
+                                                                                                                                                                                                                                                                       2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
+                                                                                                                                                                                                                                                                       1L, 1L, 1L, 1L, 1L, 1L, 1L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
+                                                                                                                                                                                                                                                                       5L, 5L, 5L, 5L, 5L, 5L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
+                                                                                                                                                                                                                                                                       4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
+                                                                                                                                                                                                                                                                       3L, 3L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
+                                                                                                                                                                                                                                                                       2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
+                                                                                                                                                                                                                                                                       5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
+                                                                                                                                                                                                                                                                       4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 
+                                                                                                                                                                                                                                                                       3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 2L, 
+                                                                                                                                                                                                                                                                       2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("NTA", 
+                                                                                                                                                                                                                                                                                                                                           "t3-d", "t3-u", "t5-d", "t5-u"), class = "factor")), .Names = c("Experiment", 
+                                                                                                                                                                                                                                                                                                                                                                                                           "Length", "logFC", "Modification"), class = "data.frame", row.names = c(NA, 
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   -223L))
> library(dplyr)
> pvalues <- data %>% group_by(Experiment, Modification, Length) %>%
+ filter(n() > 1) %>%
+ summarize(p.value = (t.test(logFC, mu = 0)$p.value))
Error in t.test(logFC, mu = 0) : object 'logFC' not found

您可以通过将数据汇总到 p 值表中来完成此操作。这可以使用 dplyr 来完成:

library(dplyr)
pvalues <- data %>% group_by(Experiment, Modification, Length) %>%
    filter(n() > 1) %>%
    summarize(p.value = (t.test(logFC, mu = 0)$p.value))

(该行filter(n() > 1)是去除任何大小为 1 的组,因为无法计算其 p 值)。这会生成一个如下所示的表:

# Experiment Modification Length   p.value
# 1       Daub          NTA     22 0.3980043
# 2       Daub          NTA     23 0.3535590
# 3       Daub          NTA     24 0.5831962
# 4       Daub          NTA     25 0.9137644
# 5       Daub          NTA     26 0.6254004
# 6       Daub         t3-d     20 0.1493108

现在您可以使用以下命令将该文本添加到您的绘图中geom_text层,选择一些 y 例如y = 3:

library(ggplot2)

ggplot(data, aes(factor(Length),logFC)) + geom_boxplot(fill = "grey90") +
    coord_cartesian(ylim=c(-5,5)) + facet_grid(Experiment~Modification) +
    geom_text(aes(y = 3, label = p.value), data = pvalues, size = 1)

你可能需要控制你的物体的大小(可能还有角度)geom_text使情节可读。另请注意,由于您正在执行许多测试,因此您可能应该查看调整后的 p 值而不是原始 p 值。您可以使用以下方法计算该列

pvalues <- pvalues %>% mutate(p.adjusted = p.adjust(p.value, method = "bonferroni"))

功能format.pval也会派上用场,特别是当您的某些 p 值接近 0 时。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自动将 p 值添加到构面图 的相关文章

  • (因子)数据框列的小写字母

    我有一个data frame以这种格式 data frame 244 obs of 1 variable names Factor w 244 levels ERA BAKE 1 2 3 4 5 6 7 8 9 10 我用它来将其转换为小写
  • R包导出ICS?

    有谁知道 R 函数可以将日期和标签导出为 ics 日历格式 我已经用谷歌搜索过 但没有什么是显而易见的 但不敢相信有人还没有这样做 iCalendar 规范是非常简单 https www rfc editor org rfc rfc2445
  • 将列表元素名称作为变量传递给 lapply 中的函数

    我有一个命名的数据列表和一个要应用于数据的自定义函数 Some example data d list lt list a c 1 2 3 b c 4 5 6 c c 7 8 9 A simple function to process s
  • 如何在 R tidyverse 中转换列类型

    我试图熟悉 Tidyverse 的使用 但数据类型转换被证明是一个障碍 我知道自动将字符串转换为因子并不理想 但有时我想使用因子 因此一些可以轻松地将 tibble 中所需的字符列转换为因子的方法将非常好 我更喜欢使用 readxl 包读取
  • 如何用 df 中的字符替换 NA [重复]

    这个问题在这里已经有答案了 我希望在 df 中将所有 NA 替换为 Not Found 我有这个 df A B 1 NA 2 NA 3 NA 我怎样才能得到那个 A B 1 Not Found 2 Not Found 3 Not Found
  • glm 起始值不被接受日志链接

    我想运行带有日志链接和偏移量的高斯 GLM 出现以下问题 y lt c 1 1 0 0 t lt c 5 3 2 4 没问题 exp coef glm y 1 offset log t family poisson with family
  • 如何找出正在使用哪个(版本的)函数?

    问题 如何找出正在调用的函数的版本 例如 如果我使用unique在 data frame 上 我假设我正在使用unique data frame 然而 没有unique raster函数 虽然有一个raster unique 但如果我使用
  • 从总和为所需总数的值列表中确定所有可能的组合

    一位朋友问我一个编程问题 关于如何确定一组值中所有可能的值组合可以相加以获得所需的总数 我有一个解决方案 但它不太优雅 它基本上只是一系列 for 循环和 if 语句 我确信 dplyr 有一个我想不到的解决方案 因为我知道它有多么有用 但
  • R 线图上的两个数据集,但使用相同的 X 和 Y 轴?

    我正在尝试在 R 中的图表上绘制两条线 数据与死囚区相关 CSV 有三列 第一列是年份 第二列是死囚区人口 第三列是当年的处决数量 我已经到了可以画两条 X 轴相同的线的地步 但由于值的范围相互重叠 Y 轴变得混乱 举个例子 每个给定的年份
  • 我可以从 R Tools for Visual Studio 中运行 Shiny 应用程序吗

    如果我使用的话 是否可以从 Visual Studio 中运行 Shiny 应用程序Visual Studio 的 R 工具 RTVS 如果是 怎么办 我以为没有 结果发现有isRTVS 中的 运行闪亮应用程序 按钮
  • Rscript 正在绘制 PDF

    我有一个简单的R http en wikipedia org wiki R 28programming language 29脚本 当它通过 Rscript exe 运行时 默认情况下它会绘制为 PDF 文件 我希望脚本打开一个绘图窗口 我
  • 展平 ggplot2 中的 alpha 通道

    ggplot2 的某些对象 函数 支持 alpha 通道 http docs ggplot2 org current geom point html http docs ggplot2 org current geom point html
  • data.frame 按列分组[重复]

    这个问题在这里已经有答案了 我有一个数据框 DF 说 DF 是 A B 1 1 2 2 1 3 3 2 3 4 3 5 5 3 6 现在我想将 A 列的行组合在一起 并得到 B 列的总和 例如 A B 1 1 5 2 2 3 3 3 11
  • 评估 R 中字符串指向的函数

    假设我有以下内容 x lt 1 10 squared lt function x x 2 y lt squared 我希望能够使用 y 定义的字符串来评估该函数 像 eval y 这样的东西 我知道这是错误的 但会返回 1 1 4 9 16
  • R:使用 dcast 时包含没有条目的因子

    我在数据帧上使用 reshape2 函数 dcast 其中一个变量是某些级别未出现在数据框中的因素 但我会将所有值包含在创建的新列中 例如 假设我运行以下命令 library reshape2 dataDF lt data frame id
  • 使用 geom_bar 和 stat="identity" 绘制平均值的 hline

    我有一个条形图 其中确切的条形高度位于数据框中 df lt data frame x LETTERS 1 6 y c 1 6 1 6 1 g rep x c a b each 6 ggplot df aes x x y y fill g g
  • 替换为 NA

    我有一个包含条目的数据框 看来这些值没有被视为 NA 因为 is na 返回 FALSE 我想将这些值转换为 NA 但找不到方法 Use dfr dfr
  • 在 R 中将本地日期时间转换为 UTC

    如何将本地日期时间转换为以下格式 12 31 2014 6 42 52 PM R 中的 UTC 我试过这个 as POSIXct as Date 12 31 2014 6 42 52 PM format m d Y H M S tz UTC
  • 什么是 data.frame 可以做而 data.table 不能做的事情?

    我刚刚开始使用 R 并遇到了 data table 我发现它很棒 一个非常天真的问题 我可以忽略 data frame 来使用 data table 以避免两个包之间的语法混淆吗 来自数据表常见问题解答 http datatable r f
  • corr.test 与 cor.test p 值

    我正在尝试使用 psych 包 psych 1 6 9 中的 corr test 但在使用 method spearman 时 它似乎给出了与 cor test 不同的 p 值 相关系数相同 但 p 值不同 我整理了一些示例代码和输出 如下

随机推荐