【问题标题】:Add Spearman's test P-value to ggplot using stat_fit_glance使用 stat_fit_glance 将 Spearman 的检验 P 值添加到 ggplot
【发布时间】:2018-02-28 10:22:05
【问题描述】:

我想在我的 ggplot 上添加 Spearman 的 相关性检验的 p.value。

我有一个数据框,Global.log.CD8.Density:

head(Global.log.CD8.Density)
  ID     Global.log.CD8.Density   Signature     Weight
IM_186         0.124566              s1       0.56427854
IM_152         5.041160              s1       0.28232970
IM_172         1.385508              s1       0.20986138
IM_148         6.067057              s1       0.42067503
IM_146         2.278153              s1       0.23883911
IM_174         5.481756              s1       0.05284056

有 7 个Signatures,s1-s7,每个ID 具有不同的Weight 值。我创建了一个分面点图来显示每个SignatureGlobal.log.CD8.DensityWeight 之间的相关性,并使用以下代码显示p.value:

ggplot(Global.log.CD8.Density, 
mapping = aes(x=Weight, y=Global.log.CD8.Density))+ 
geom_point(aes(colour=Signature))+
facet_wrap(~Signature, nrow = 2)+
geom_smooth(method = "lm", se = F) +
   stat_fit_glance(method = 'lm',
                   method.args = list(formula = y~x),
                   geom = 'text',
                   aes(label = paste( "italic (p)== ", signif(..p.value.., digits = 4))),
                       label.x.npc = "right", label.y.npc = 0.10,
                       size = 3, parse=TRUE)

这将粘贴 Pearson 相关性的 p.value。我想知道是否有办法修改代码以显示 Spearman 的相关性。我知道您可以执行以下代码来获得结果:

Global.CD8.spearman <- Global.log.CD8.Density %>% 
 group_by(Signature) %>% 
 do(tidy(cor.test(.$Weight, .$Global.log.CD8.Density, method='spearman')))

ggplot(Global.log.CD8.Density, aes(Weight,Global.log.CD8.Density))+
  geom_point(aes(colour=Signature))+
  facet_wrap(~Signature, nrow = 2)+
  geom_smooth(method = "lm", se = F) +
  geom_text (data=Global.CD8.spearman, 
         aes(0.55,0.55,label = ifelse(p.value>0.05,paste( "italic (p)== ", 
                                             signif(p.value, digits = 2)),"italic (p)<0.05")),
                       size = 3, parse=TRUE)

但我想知道是否有办法修改stat_fit_glance 或任何其他ggpmisc 工具以获得该结果。

非常感谢

【问题讨论】:

    标签: ggpmisc


    【解决方案1】:

    感谢您报告此问题!我已经创建了an Issue,并将在下一个“ggpmisc”版本之前解决这个问题。问题是我认为对 stat_fit_glance() 返回的值存在误解。这些列被命名为由broom:glance() 返回。我在 'ggpmisc' 的开发版本中添加了一个示例,以 0.3.0 版本提交给 CRAN。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-07
      • 2020-08-24
      • 1970-01-01
      • 2021-10-22
      • 2022-07-06
      • 2021-11-12
      • 1970-01-01
      • 2019-07-01
      相关资源
      最近更新 更多