在相同的 table 中打印关系和相关性的重要性

Print the significance of the relationship and correlation in the same table

我正试图在一个 table 中打印出关系的重要性。非常感谢。

 library("Hmisc")
    my_data <- mtcars[, c(1,3,4,5,6,7)]
    my.cor <- cor(my_data); my.cor; my.cor
    my.cor.p <- rcorr(as.matrix(my_data)); my.cor.p
    

预期答案:其他列应该像 disp 列,其中包括 my.cor 值和 my.cor.p

mpg  disp     hp  drat    wt  qsec
mpg   1.00    -0.85 -0.78  0.68 -0.87  0.42
disp -0.85***  1.00  0.79 -0.71  0.89 -0.43
hp   -0.78***  0.79  1.00 -0.45  0.66 -0.71
drat  0.68*** -0.71 -0.45  1.00 -0.71  0.09
wt   -0.87***  0.89  0.66 -0.71  1.00 -0.17
qsec  0.42*  -0.43 -0.71  0.09 -0.17  1.00

*** p <0.01, ** p<0.05, * p<0.1

您可以为此使用 correlation 包。

correlation() 函数计算指定变量之间的相关性,returns 一个数据框,其中包含每对变量的相关性、置信区间和测试值:

library(correlation)
my_data <- mtcars[, c(1,3,4,5,6,7)]

(corr <- correlation(my_data))
#> # Correlation Matrix (pearson-method)
#> 
#> Parameter1 | Parameter2 |     r |         95% CI | t(30) |         p
#> --------------------------------------------------------------------
#> mpg        |       disp | -0.85 | [-0.92, -0.71] | -8.75 | < .001***
#> mpg        |         hp | -0.78 | [-0.89, -0.59] | -6.74 | < .001***
#> mpg        |       drat |  0.68 | [ 0.44,  0.83] |  5.10 | < .001***
#> mpg        |         wt | -0.87 | [-0.93, -0.74] | -9.56 | < .001***
#> mpg        |       qsec |  0.42 | [ 0.08,  0.67] |  2.53 | 0.053    
#> disp       |         hp |  0.79 | [ 0.61,  0.89] |  7.08 | < .001***
#> disp       |       drat | -0.71 | [-0.85, -0.48] | -5.53 | < .001***
#> disp       |         wt |  0.89 | [ 0.78,  0.94] | 10.58 | < .001***
#> disp       |       qsec | -0.43 | [-0.68, -0.10] | -2.64 | 0.053    
#> hp         |       drat | -0.45 | [-0.69, -0.12] | -2.75 | < .05*   
#> hp         |         wt |  0.66 | [ 0.40,  0.82] |  4.80 | < .001***
#> hp         |       qsec | -0.71 | [-0.85, -0.48] | -5.49 | < .001***
#> drat       |         wt | -0.71 | [-0.85, -0.48] | -5.56 | < .001***
#> drat       |       qsec |  0.09 | [-0.27,  0.43] |  0.50 | 0.678    
#> wt         |       qsec | -0.17 | [-0.49,  0.19] | -0.97 | 0.678    
#> 
#> p-value adjustment method: Holm (1979)
#> Observations: 32

如果您将此相关对象传递给 summary(),它将 return 一个仅包含相关性和 p 值星的紧凑矩阵。

(corrmat <- summary(corr))
#> # Correlation Matrix (pearson-method)
#> 
#> Parameter |     qsec |       wt |     drat |       hp |     disp
#> ----------------------------------------------------------------
#> mpg       |     0.42 | -0.87*** |  0.68*** | -0.78*** | -0.85***
#> disp      |    -0.43 |  0.89*** | -0.71*** |  0.79*** |         
#> hp        | -0.71*** |  0.66*** |   -0.45* |          |         
#> drat      |     0.09 | -0.71*** |          |          |         
#> wt        |    -0.17 |          |          |          |         
#> 
#> p-value adjustment method: Holm (1979)

如果您使用 Markdown 编写此脚本,您可以使用 display() 函数获得 markdown 格式的 table。

# For rendering in markdown:
display(corrmat)
Parameter qsec wt drat hp disp
mpg 0.42 -0.87*** 0.68*** -0.78*** -0.85***
disp -0.43 0.89*** -0.71*** 0.79***
hp -0.71*** 0.66*** -0.45*
drat 0.09 -0.71***
wt -0.17

相关矩阵(皮尔逊法)

p 值调整方法:Holm (1979)

就我个人而言,我建议优先考虑置信区间,而不是 p 值或重要性星,因为它们提供的信息要多得多。您可以使用 apaTables 包获得具有相关性和置信区间的 table。

apaTables::apa.cor.table(my_data)
#> 
#> 
#> Means, standard deviations, and correlations with confidence intervals
#>  
#> 
#>   Variable M      SD     1            2            3            4            5
#>   1. mpg   20.09  6.03                                                      
#>                                                                             
#>   2. disp  230.72 123.94 -.85**                                             
#>                          [-.92, -.71]                                       
#>                                                                             
#>   3. hp    146.69 68.56  -.78**       .79**                                 
#>                          [-.89, -.59] [.61, .89]                            
#>                                                                             
#>   4. drat  3.60   0.53   .68**        -.71**       -.45**                   
#>                          [.44, .83]   [-.85, -.48] [-.69, -.12]             
#>                                                                             
#>   5. wt    3.22   0.98   -.87**       .89**        .66**        -.71**      
#>                          [-.93, -.74] [.78, .94]   [.40, .82]   [-.85, -.48]
#>                                                                             
#>   6. qsec  17.85  1.79   .42*         -.43*        -.71**       .09          -.17
#>                          [.08, .67]   [-.68, -.10] [-.85, -.48] [-.27, .43]  [-.49, .19]

#> Note. M and SD are used to represent mean and standard deviation, respectively.
#> Values in square brackets indicate the 95% confidence interval.
#> The confidence interval is a plausible range of population correlations 
#> that could have caused the sample correlation (Cumming, 2014).
#>  * indicates p < .05. ** indicates p < .01.
#> 

reprex package (v2.0.0)

于 2021-05-30 创建