将 Pearson 卡方检验的 p 值添加到构面 ggplots

cap*_*oma 3 r chi-squared ggplot2 ggpubr

我比较了三个不同组的分类数据。

我想知道是否可以轻松地将卡方检验的 p 值添加到构面 ggplots 中(因为我正在分析一个大数据集)。我刚刚读到,在比较平均值时,有一种奇妙的方法可以做到这一点https://www.r-bloggers.com/add-p-values-and-significance-levels-to-ggplots/。但是,我找不到其他测试的解决方案(例如我的例子中的 chisq.test )。

d.test <- data.frame(
  results = sample(c("A","B","C"), 30, replace =TRUE),
  test = sample(c("test1", "test2","test3"), 30, replace = TRUE)
)

chisq.test(d.test$results,d.test$test)

ggplot(d.test, aes(results) ) +
  geom_bar() + facet_grid(test ~ .)
Run Code Online (Sandbox Code Playgroud)

非常感谢您的帮助!;D

CPa*_*Pak 5

将您的 p 值存储在变量中

pval <- chisq.test(d.test$results,d.test$test)$p.value
Run Code Online (Sandbox Code Playgroud)

用于annotate手动绘制文本

ggplot(d.test, aes(results) ) +
  geom_bar() + facet_grid(test ~ .) +
  annotate("text", x=1, y=5, label=pval)
Run Code Online (Sandbox Code Playgroud)

x使用和更改其定位y

ggplot(d.test, aes(results) ) +
  geom_bar() + facet_grid(test ~ .) +
  annotate("text", x=2, y=3, label=pval)    
Run Code Online (Sandbox Code Playgroud)

更改显示的有效数字signif

ggplot(d.test, aes(results) ) +
  geom_bar() + facet_grid(test ~ .) +
  annotate("text", x=1, y=5, label=signif(pval,4))
Run Code Online (Sandbox Code Playgroud)

p-value:添加“标签”

ggplot(d.test, aes(results) ) +
  geom_bar() + facet_grid(test ~ .) +
  annotate("text", x=1, y=5, label=paste0("p-value: ", signif(pval,4)))
Run Code Online (Sandbox Code Playgroud)