【问题标题】:Multiple Pearson Correlation with p-Values与 p 值的多重 Pearson 相关
【发布时间】:2022-11-27 13:37:26
【问题描述】:

我想计算几列之间的 Pearson 相关性。 JasonAizkalns 在this thread 中发布的解决方案对我很有用。

  df %>%
  select_if(is.numeric) %>%
  group_by(year) %>%
  group_map(~ correlate(.x))

现在我想知道两件事:

  1. 如何获得 p 值?
  2. 为什么有些相关系数用红色标记?我没有在文档中找到任何关于它的信息。这些已经是显着的相关性了吗?如果是,使用哪个显着性水平?

    我正在寻找尽可能简单的扩展,而不必使用完全不同的方法。

    感谢您的任何提示!

【问题讨论】:

    标签: r dplyr multiple-columns p-value pearson-correlation


    【解决方案1】:

    如何获得 p 值?

    correlate() 不提供此信息,因此您需要使用其他工具。 rstatix 包有一个函数,cor_test(),可以代替使用:

    library(tibble)
    library(dplyr)
    library(rstatix)
    
    df <- tribble(
      ~year, ~V1, ~V2, ~V3, ~misc_var,
      2018,   5,   6,   5,       "a",
      2018,   4,   6,   4,       "b",
      2018,   3,   2,   3,        NA,
      2013,   5,   8,   2,       "4",
      2013,   6,   3,   8,       "8",
      2013,   4,   7,   5,        NA
    )
    
    df %>%
      select(where(is.numeric)) %>%
      group_by(year) %>%
      group_map(~ cor_test(.x, vars = c("V1", "V2", "V3"),
                           vars2 = c("V1", "V2", "V3")) |> 
                  filter(is.finite(statistic)))
    
    [[1]]
    # A tibble: 7 × 6
      var1  var2    cor    statistic             p method 
      <chr> <chr> <dbl>        <dbl>         <dbl> <chr>  
    1 V1    V2    -0.76       -1.15  0.454         Pearson
    2 V1    V3     0.5         0.577 0.667         Pearson
    3 V2    V1    -0.76       -1.15  0.454         Pearson
    4 V2    V2     1    67108864     0.00000000949 Pearson
    5 V2    V3    -0.94       -2.89  0.212         Pearson
    6 V3    V1     0.5         0.577 0.667         Pearson
    7 V3    V2    -0.94       -2.89  0.212         Pearson
    
    [[2]]
    # A tibble: 4 × 6
      var1  var2    cor statistic     p method 
      <chr> <chr> <dbl>     <dbl> <dbl> <chr>  
    1 V1    V2     0.87      1.73 0.333 Pearson
    2 V2    V1     0.87      1.73 0.333 Pearson
    3 V2    V3     0.87      1.73 0.333 Pearson
    4 V3    V2     0.87      1.73 0.333 Pearson
    

    为什么有些相关系数用红色标记?

    默认情况下,tibbles 以红色显示负值或 NA 值,以使它们更容易被注意到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-19
      • 2019-04-22
      • 2021-10-30
      • 1970-01-01
      • 1970-01-01
      • 2016-05-09
      • 1970-01-01
      • 2019-02-01
      相关资源
      最近更新 更多