Skip to contents

Calculates correlations between multiple variables.

Usage

mcor_test(
  x,
  y = NULL,
  estimate = TRUE,
  p.value = FALSE,
  method = "spearman",
  method_adjust = "BH"
)

Arguments

x

Data frame containing numerical variables.

y

Data frame containing numerical variables. If NULL, correlations are calculated within x.

estimate

Logical specifying whether to return correlation coefficients.

p.value

Logical specifying whether to return adjusted p-values.

method

Character specifying the correlation method: pearson, kendall, or spearman.

method_adjust

Character specifying the p-value adjustment method.

Value

Depending on the values of estimate and p.value, one of the following:

estimate = TRUE, p.value = FALSE

A numeric matrix of correlation coefficients, with columns corresponding to variables in x and rows to variables in y.

estimate = FALSE, p.value = TRUE

A numeric matrix of adjusted p-values, with columns corresponding to variables in x and rows to variables in y.

estimate = TRUE, p.value = TRUE

A named list with two elements:

estimate

Numeric matrix of correlation coefficients.

p.value

Numeric matrix of adjusted p-values.

Examples

library(magrittr)
x0 <- runif(20)
x <- lapply(
    c(1, -1),
    function(i) sapply(seq(10), function(j) x0 * i + runif(10, max = 1))
) %>%
    Reduce(cbind, .) %>%
    set_colnames(paste("Variable", seq(20)))
y <- lapply(
    c(1, -1),
    function(i) sapply(seq(10), function(j) x0 * i + runif(10, max = 1))
) %>%
    Reduce(cbind, .) %>%
    set_colnames(paste("Variable", seq(20))) %>%
    .[, seq(5)]
mcor_test(x)
#>               Variable 1 Variable 2 Variable 3   Variable 4  Variable 5
#> Variable 1   1.000000000  0.4270677  0.4781955 -0.004511278  0.58045113
#> Variable 2   0.427067669  1.0000000  0.8661654  0.354887218  0.14586466
#> Variable 3   0.478195489  0.8661654  1.0000000  0.530827068  0.30827068
#> Variable 4  -0.004511278  0.3548872  0.5308271  1.000000000  0.07969925
#> Variable 5   0.580451128  0.1458647  0.3082707  0.079699248  1.00000000
#> Variable 6   0.703759398  0.4721805  0.6827068  0.317293233  0.75639098
#> Variable 7   0.494736842  0.6150376  0.6796992  0.218045113  0.19699248
#> Variable 8   0.257142857  0.7443609  0.6962406  0.478195489  0.31278195
#> Variable 9   0.932330827  0.3413534  0.4105263 -0.019548872  0.75939850
#> Variable 10  0.634586466  0.5969925  0.7473684  0.305263158  0.24511278
#> Variable 11 -0.433082707 -0.4060150 -0.6571429 -0.424060150 -0.50676692
#> Variable 12 -0.496240602 -0.6360902 -0.7037594 -0.189473684 -0.71729323
#> Variable 13 -0.679699248 -0.5533835 -0.4526316 -0.302255639 -0.57443609
#> Variable 14 -0.228571429 -0.2030075 -0.3699248 -0.187969925 -0.37293233
#> Variable 15 -0.445112782 -0.3699248 -0.5879699 -0.445112782 -0.47669173
#> Variable 16 -0.436090226 -0.4090226 -0.6781955 -0.484210526 -0.57593985
#> Variable 17 -0.470676692 -0.5984962 -0.6586466 -0.550375940 -0.61353383
#> Variable 18 -0.166917293 -0.4135338 -0.3954887 -0.227067669 -0.23609023
#> Variable 19 -0.520300752 -0.5007519 -0.5864662 -0.309774436 -0.52030075
#> Variable 20 -0.481203008 -0.8751880 -0.7503759 -0.130827068 -0.32631579
#>             Variable 6 Variable 7 Variable 8  Variable 9 Variable 10
#> Variable 1   0.7037594  0.4947368  0.2571429  0.93233083   0.6345865
#> Variable 2   0.4721805  0.6150376  0.7443609  0.34135338   0.5969925
#> Variable 3   0.6827068  0.6796992  0.6962406  0.41052632   0.7473684
#> Variable 4   0.3172932  0.2180451  0.4781955 -0.01954887   0.3052632
#> Variable 5   0.7563910  0.1969925  0.3127820  0.75939850   0.2451128
#> Variable 6   1.0000000  0.5037594  0.5939850  0.67669173   0.6135338
#> Variable 7   0.5037594  1.0000000  0.6315789  0.33082707   0.9218045
#> Variable 8   0.5939850  0.6315789  1.0000000  0.20451128   0.5548872
#> Variable 9   0.6766917  0.3308271  0.2045113  1.00000000   0.4691729
#> Variable 10  0.6135338  0.9218045  0.5548872  0.46917293   1.0000000
#> Variable 11 -0.6721805 -0.7082707 -0.5714286 -0.43609023  -0.7413534
#> Variable 12 -0.7714286 -0.4751880 -0.6556391 -0.57894737  -0.4496241
#> Variable 13 -0.6887218 -0.3654135 -0.6045113 -0.63909774  -0.3639098
#> Variable 14 -0.2300752 -0.5969925 -0.1398496 -0.27819549  -0.5278195
#> Variable 15 -0.6751880 -0.7413534 -0.5669173 -0.40000000  -0.7458647
#> Variable 16 -0.5699248 -0.4932331 -0.3984962 -0.55037594  -0.5729323
#> Variable 17 -0.8390977 -0.4075188 -0.8180451 -0.46616541  -0.4345865
#> Variable 18 -0.5428571 -0.4947368 -0.6240602 -0.01654135  -0.4060150
#> Variable 19 -0.5774436 -0.7127820 -0.5879699 -0.54285714  -0.6947368
#> Variable 20 -0.5518797 -0.5864662 -0.7894737 -0.44210526  -0.5172932
#>             Variable 11 Variable 12 Variable 13 Variable 14 Variable 15
#> Variable 1   -0.4330827  -0.4962406 -0.67969925 -0.22857143  -0.4451128
#> Variable 2   -0.4060150  -0.6360902 -0.55338346 -0.20300752  -0.3699248
#> Variable 3   -0.6571429  -0.7037594 -0.45263158 -0.36992481  -0.5879699
#> Variable 4   -0.4240602  -0.1894737 -0.30225564 -0.18796992  -0.4451128
#> Variable 5   -0.5067669  -0.7172932 -0.57443609 -0.37293233  -0.4766917
#> Variable 6   -0.6721805  -0.7714286 -0.68872180 -0.23007519  -0.6751880
#> Variable 7   -0.7082707  -0.4751880 -0.36541353 -0.59699248  -0.7413534
#> Variable 8   -0.5714286  -0.6556391 -0.60451128 -0.13984962  -0.5669173
#> Variable 9   -0.4360902  -0.5789474 -0.63909774 -0.27819549  -0.4000000
#> Variable 10  -0.7413534  -0.4496241 -0.36390977 -0.52781955  -0.7458647
#> Variable 11   1.0000000   0.6947368  0.35639098  0.54285714   0.9037594
#> Variable 12   0.6947368   1.0000000  0.60751880  0.31127820   0.6390977
#> Variable 13   0.3563910   0.6075188  1.00000000  0.05714286   0.4300752
#> Variable 14   0.5428571   0.3112782  0.05714286  1.00000000   0.5714286
#> Variable 15   0.9037594   0.6390977  0.43007519  0.57142857   1.0000000
#> Variable 16   0.8060150   0.6796992  0.25864662  0.65864662   0.7458647
#> Variable 17   0.5864662   0.7714286  0.82406015  0.05413534   0.6285714
#> Variable 18   0.4451128   0.4120301  0.52030075  0.07819549   0.4165414
#> Variable 19   0.9142857   0.7428571  0.50977444  0.52481203   0.8616541
#> Variable 20   0.4827068   0.7894737  0.64962406  0.10075188   0.4045113
#>             Variable 16 Variable 17 Variable 18 Variable 19 Variable 20
#> Variable 1  -0.43609023 -0.47067669 -0.16691729  -0.5203008  -0.4812030
#> Variable 2  -0.40902256 -0.59849624 -0.41353383  -0.5007519  -0.8751880
#> Variable 3  -0.67819549 -0.65864662 -0.39548872  -0.5864662  -0.7503759
#> Variable 4  -0.48421053 -0.55037594 -0.22706767  -0.3097744  -0.1308271
#> Variable 5  -0.57593985 -0.61353383 -0.23609023  -0.5203008  -0.3263158
#> Variable 6  -0.56992481 -0.83909774 -0.54285714  -0.5774436  -0.5518797
#> Variable 7  -0.49323308 -0.40751880 -0.49473684  -0.7127820  -0.5864662
#> Variable 8  -0.39849624 -0.81804511 -0.62406015  -0.5879699  -0.7894737
#> Variable 9  -0.55037594 -0.46616541 -0.01654135  -0.5428571  -0.4421053
#> Variable 10 -0.57293233 -0.43458647 -0.40601504  -0.6947368  -0.5172932
#> Variable 11  0.80601504  0.58646617  0.44511278   0.9142857   0.4827068
#> Variable 12  0.67969925  0.77142857  0.41203008   0.7428571   0.7894737
#> Variable 13  0.25864662  0.82406015  0.52030075   0.5097744   0.6496241
#> Variable 14  0.65864662  0.05413534  0.07819549   0.5248120   0.1007519
#> Variable 15  0.74586466  0.62857143  0.41654135   0.8616541   0.4045113
#> Variable 16  1.00000000  0.47819549 -0.01353383   0.7503759   0.3849624
#> Variable 17  0.47819549  1.00000000  0.59248120   0.5909774   0.6796992
#> Variable 18 -0.01353383  0.59248120  1.00000000   0.3774436   0.4646617
#> Variable 19  0.75037594  0.59097744  0.37744361   1.0000000   0.6060150
#> Variable 20  0.38496241  0.67969925  0.46466165   0.6060150   1.0000000
mcor_test(
    x,
    y,
    p.value = TRUE,
    method = "pearson",
    method_adjust = "bonferroni"
)
#> $estimate
#>             Variable 1 Variable 2 Variable 3 Variable 4 Variable 5 Variable 6
#> Variable 1  0.50495472  0.3586205  0.6474325  0.5212440  0.6287340  0.6280787
#> Variable 2  0.23077387  0.6257726  0.5424296  0.5466259  0.5306180  0.4143801
#> Variable 3  0.35482942  0.7026754  0.6521221  0.5050458  0.3964983  0.6600913
#> Variable 4  0.61259505  0.5073410  0.6350883  0.4448300  0.3087261  0.7071880
#> Variable 5 -0.06921779  0.3530233  0.5187837  0.7605679  0.3154778  0.3303458
#>            Variable 7 Variable 8 Variable 9 Variable 10 Variable 11 Variable 12
#> Variable 1  0.6347607  0.3527741  0.6048126   0.6885036  -0.8952286  -0.6274758
#> Variable 2  0.4197417  0.8179810  0.2987174   0.2462277  -0.3479642  -0.6281493
#> Variable 3  0.4726728  0.8177646  0.3334965   0.4579800  -0.5611594  -0.7431660
#> Variable 4  0.7331339  0.4748698  0.4231314   0.7821653  -0.4364526  -0.4023812
#> Variable 5  0.3540349  0.4016269  0.0226847   0.3437754  -0.5674470  -0.2957376
#>            Variable 13 Variable 14 Variable 15 Variable 16 Variable 17
#> Variable 1  -0.2876503 -0.75781095  -0.7872777  -0.8672263  -0.4542764
#> Variable 2  -0.5747597 -0.35813388  -0.4638598  -0.6070965  -0.6977010
#> Variable 3  -0.7752252  0.01038233  -0.5727827  -0.3642902  -0.8573339
#> Variable 4  -0.4324180 -0.45713532  -0.5694518  -0.3895827  -0.5518176
#> Variable 5  -0.3387231 -0.62684325  -0.5384341  -0.6104933  -0.4585292
#>            Variable 18 Variable 19 Variable 20
#> Variable 1  -0.2496856  -0.7587078  -0.3600116
#> Variable 2  -0.2413356  -0.5234932  -0.7059837
#> Variable 3  -0.6817455  -0.6544484  -0.7694327
#> Variable 4  -0.5551278  -0.3280818  -0.4626496
#> Variable 5  -0.5068263  -0.5212329  -0.1058697
#> 
#> $p.value
#>            Variable 1 Variable 2 Variable 3  Variable 4 Variable 5 Variable 6
#> Variable 1  1.0000000 1.00000000  0.2028276 1.000000000  0.2984106 0.30234253
#> Variable 2  1.0000000 0.31652515  1.0000000 1.000000000  1.0000000 1.00000000
#> Variable 3  1.0000000 0.05503616  0.1833767 1.000000000  1.0000000 0.15390735
#> Variable 4  0.4085919 1.00000000  0.2624382 1.000000000  1.0000000 0.04885373
#> Variable 5  1.0000000 1.00000000  1.0000000 0.009907297  1.0000000 1.00000000
#>            Variable 7  Variable 8 Variable 9 Variable 10  Variable 11
#> Variable 1 0.26419992 1.000000000  0.4726716 0.078946128 9.822971e-06
#> Variable 2 1.00000000 0.001053627  1.0000000 1.000000000 1.000000e+00
#> Variable 3 1.00000000 0.001064057  1.0000000 1.000000000 1.000000e+00
#> Variable 4 0.02355446 1.000000000  1.0000000 0.004610408 1.000000e+00
#> Variable 5 1.00000000 1.000000000  1.0000000 1.000000000 9.067018e-01
#>            Variable 12 Variable 13 Variable 14 Variable 15  Variable 16
#> Variable 1  0.30599864 1.000000000  0.01086224 0.003799137 7.447519e-05
#> Variable 2  0.30191706 0.802897407  1.00000000 1.000000000 4.530615e-01
#> Variable 3  0.01737335 0.005948183  1.00000000 0.829951813 1.000000e+00
#> Variable 4  1.00000000 1.000000000  1.00000000 0.877214812 1.000000e+00
#> Variable 5  1.00000000 1.000000000  0.30987351 1.000000000 4.251428e-01
#>             Variable 17 Variable 18 Variable 19 Variable 20
#> Variable 1 1.0000000000  1.00000000   0.0105433 1.000000000
#> Variable 2 0.0626084648  1.00000000   1.0000000 0.050442837
#> Variable 3 0.0001369264  0.09313087   0.1743236 0.007308687
#> Variable 4 1.0000000000  1.00000000   1.0000000 1.000000000
#> Variable 5 1.0000000000  1.00000000   1.0000000 1.000000000
#>