我有一个包含三个箱形图的图,我需要使用ggplot2或ggpubr显示成对的箱形图之间的Spearman相关性。
使用成对的p值可以轻松绘制相似的图。例如,
library(ggpubr)
data("ToothGrowth")
df <- ToothGrowth
p <- ggboxplot(df, x = "dose", y = "len",
color = "dose", palette =c("#00AFBB", "#E7B800", "#FC4E07"),
add = "jitter", shape = "dose")
my_comparisons <- list( c("0.5", "1"), c("1", "2"), c("0.5", "2") )
p + stat_compare_means(comparisons = my_comparisons)
如何使用Spearman相关性而不是p值绘制相似的图?
感谢您的帮助
答案 0 :(得分:0)
dose_0.5 <- df[df$dose == 0.5,]
dose_1 <- df[df$dose == 1,]
dose_2 <- df[df$dose == 2,]
cor.test(dose_1$len,dose_2$len)
cor.test(dose_0.5$len,dose_2$len)
cor.test(dose_1$len,dose_0.5$len)
p <- ggboxplot(df, x = "dose", y = "len",
color = "dose", palette =c("#00AFBB", "#E7B800", "#FC4E07"),
add = "jitter", shape = "dose")
my_comparisons <- list( c("0.5", "1"), c("1", "2"), c("0.5", "2") )
p + geom_signif(test = "wilcox.test",
comparisons = list( c("0.5", "1"), c("1", "2"), c("0.5", "2") ),
vjust = 0,
textsize = 4,
size = .5,
step_increase = .08,
annotations = c(cor.test(dose_1$len,dose_0.5$len)$estimate,
cor.test(dose_1$len,dose_2$len)$estimate,
cor.test(dose_0.5$len,dose_2$len)$estimate))
df
是ToothGrowth
数据集。如果您确实想要这样的东西,只需将p.value替换为相关人员,也许您需要编辑图例或标题以解释注释是否为相关系数。
通过在round()
中添加annotation = ...
的方式,相关系数不会那么长。