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.0000000  0.56992481  0.6796992  0.296240602  0.6090226
#> Variable 2   0.5699248  1.00000000  0.5172932  0.433082707  0.4120301
#> Variable 3   0.6796992  0.51729323  1.0000000  0.682706767  0.6330827
#> Variable 4   0.2962406  0.43308271  0.6827068  1.000000000  0.6842105
#> Variable 5   0.6090226  0.41203008  0.6330827  0.684210526  1.0000000
#> Variable 6   0.3609023  0.72781955  0.4646617  0.554887218  0.5308271
#> Variable 7   0.6511278  0.68872180  0.3894737 -0.067669173  0.2285714
#> Variable 8   0.6857143  0.64812030  0.6616541  0.670676692  0.7022556
#> Variable 9   0.5368421  0.58345865  0.5338346  0.699248120  0.7909774
#> Variable 10  0.1729323  0.28270677  0.6496241  0.809022556  0.5052632
#> Variable 11 -0.5443609 -0.53533835 -0.4872180 -0.697744361 -0.6045113
#> Variable 12 -0.5263158 -0.41503759 -0.8827068 -0.730827068 -0.5849624
#> Variable 13 -0.4451128 -0.55939850 -0.6511278 -0.715789474 -0.7112782
#> Variable 14 -0.2977444 -0.35488722 -0.2406015 -0.006015038 -0.2375940
#> Variable 15 -0.4330827 -0.33233083 -0.6842105 -0.926315789 -0.7413534
#> Variable 16 -0.5082707 -0.59849624 -0.7624060 -0.738345865 -0.6872180
#> Variable 17 -0.4135338 -0.25112782 -0.5082707 -0.533834586 -0.7428571
#> Variable 18 -0.6857143 -0.75338346 -0.6300752 -0.649624060 -0.8691729
#> Variable 19 -0.6616541 -0.69924812 -0.7879699 -0.592481203 -0.4661654
#> Variable 20 -0.3924812 -0.02255639 -0.6345865 -0.246616541 -0.5278195
#>             Variable 6  Variable 7  Variable 8  Variable 9 Variable 10
#> Variable 1   0.3609023  0.65112782  0.68571429  0.53684211  0.17293233
#> Variable 2   0.7278195  0.68872180  0.64812030  0.58345865  0.28270677
#> Variable 3   0.4646617  0.38947368  0.66165414  0.53383459  0.64962406
#> Variable 4   0.5548872 -0.06766917  0.67067669  0.69924812  0.80902256
#> Variable 5   0.5308271  0.22857143  0.70225564  0.79097744  0.50526316
#> Variable 6   1.0000000  0.57142857  0.37443609  0.47669173  0.42556391
#> Variable 7   0.5714286  1.00000000  0.27669173  0.22706767 -0.04661654
#> Variable 8   0.3744361  0.27669173  1.00000000  0.92180451  0.58496241
#> Variable 9   0.4766917  0.22706767  0.92180451  1.00000000  0.66165414
#> Variable 10  0.4255639 -0.04661654  0.58496241  0.66165414  1.00000000
#> Variable 11 -0.4736842 -0.17293233 -0.75939850 -0.76390977 -0.52932331
#> Variable 12 -0.4030075 -0.15939850 -0.64661654 -0.56691729 -0.74887218
#> Variable 13 -0.5654135 -0.24511278 -0.57142857 -0.57293233 -0.52781955
#> Variable 14 -0.4270677 -0.54285714  0.04511278  0.04210526  0.17593985
#> Variable 15 -0.4917293  0.01804511 -0.67218045 -0.69022556 -0.74887218
#> Variable 16 -0.5353383 -0.23909774 -0.62105263 -0.55488722 -0.53984962
#> Variable 17 -0.6661654 -0.25714286 -0.38496241 -0.55939850 -0.61654135
#> Variable 18 -0.7248120 -0.48270677 -0.75037594 -0.79398496 -0.44962406
#> Variable 19 -0.5729323 -0.56691729 -0.63308271 -0.49323308 -0.51428571
#> Variable 20 -0.1744361 -0.16390977 -0.23308271 -0.21804511 -0.30225564
#>             Variable 11 Variable 12 Variable 13  Variable 14 Variable 15
#> Variable 1  -0.54436090  -0.5263158  -0.4451128 -0.297744361 -0.43308271
#> Variable 2  -0.53533835  -0.4150376  -0.5593985 -0.354887218 -0.33233083
#> Variable 3  -0.48721805  -0.8827068  -0.6511278 -0.240601504 -0.68421053
#> Variable 4  -0.69774436  -0.7308271  -0.7157895 -0.006015038 -0.92631579
#> Variable 5  -0.60451128  -0.5849624  -0.7112782 -0.237593985 -0.74135338
#> Variable 6  -0.47368421  -0.4030075  -0.5654135 -0.427067669 -0.49172932
#> Variable 7  -0.17293233  -0.1593985  -0.2451128 -0.542857143  0.01804511
#> Variable 8  -0.75939850  -0.6466165  -0.5714286  0.045112782 -0.67218045
#> Variable 9  -0.76390977  -0.5669173  -0.5729323  0.042105263 -0.69022556
#> Variable 10 -0.52932331  -0.7488722  -0.5278195  0.175939850 -0.74887218
#> Variable 11  1.00000000   0.6496241   0.2932331  0.036090226  0.78947368
#> Variable 12  0.64962406   1.0000000   0.4781955  0.123308271  0.76541353
#> Variable 13  0.29323308   0.4781955   1.0000000  0.335338346  0.57593985
#> Variable 14  0.03609023   0.1233083   0.3353383  1.000000000 -0.03458647
#> Variable 15  0.78947368   0.7654135   0.5759398 -0.034586466  1.00000000
#> Variable 16  0.33082707   0.5969925   0.9684211  0.290225564  0.60451128
#> Variable 17  0.45413534   0.5729323   0.4631579  0.142857143  0.62857143
#> Variable 18  0.58796992   0.5082707   0.8210526  0.309774436  0.61353383
#> Variable 19  0.38947368   0.5533835   0.7669173  0.258646617  0.54285714
#> Variable 20  0.26766917   0.6646617   0.1082707  0.234586466  0.38345865
#>             Variable 16 Variable 17 Variable 18 Variable 19 Variable 20
#> Variable 1   -0.5082707  -0.4135338  -0.6857143  -0.6616541 -0.39248120
#> Variable 2   -0.5984962  -0.2511278  -0.7533835  -0.6992481 -0.02255639
#> Variable 3   -0.7624060  -0.5082707  -0.6300752  -0.7879699 -0.63458647
#> Variable 4   -0.7383459  -0.5338346  -0.6496241  -0.5924812 -0.24661654
#> Variable 5   -0.6872180  -0.7428571  -0.8691729  -0.4661654 -0.52781955
#> Variable 6   -0.5353383  -0.6661654  -0.7248120  -0.5729323 -0.17443609
#> Variable 7   -0.2390977  -0.2571429  -0.4827068  -0.5669173 -0.16390977
#> Variable 8   -0.6210526  -0.3849624  -0.7503759  -0.6330827 -0.23308271
#> Variable 9   -0.5548872  -0.5593985  -0.7939850  -0.4932331 -0.21804511
#> Variable 10  -0.5398496  -0.6165414  -0.4496241  -0.5142857 -0.30225564
#> Variable 11   0.3308271   0.4541353   0.5879699   0.3894737  0.26766917
#> Variable 12   0.5969925   0.5729323   0.5082707   0.5533835  0.66466165
#> Variable 13   0.9684211   0.4631579   0.8210526   0.7669173  0.10827068
#> Variable 14   0.2902256   0.1428571   0.3097744   0.2586466  0.23458647
#> Variable 15   0.6045113   0.6285714   0.6135338   0.5428571  0.38345865
#> Variable 16   1.0000000   0.4255639   0.8030075   0.8030075  0.21353383
#> Variable 17   0.4255639   1.0000000   0.6451128   0.3338346  0.52631579
#> Variable 18   0.8030075   0.6451128   1.0000000   0.6751880  0.25112782
#> Variable 19   0.8030075   0.3338346   0.6751880   1.0000000  0.11578947
#> Variable 20   0.2135338   0.5263158   0.2511278   0.1157895  1.00000000
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.6930649  0.5934205  0.7763150  0.5439073  0.6763834  0.2917385
#> Variable 2  0.7694336  0.5750536  0.6689827  0.5544297  0.5859511  0.5982085
#> Variable 3  0.7162498  0.4803971  0.7444100  0.4438939  0.6918574  0.4684188
#> Variable 4  0.2772068  0.6117186  0.6086672  0.5451322  0.7027050  0.7127954
#> Variable 5  0.5127312  0.5012391  0.7238603  0.6481814  0.7782744  0.5265259
#>            Variable 7 Variable 8 Variable 9 Variable 10 Variable 11 Variable 12
#> Variable 1  0.4648594  0.7562646  0.6101677   0.4153970  -0.3557700  -0.5079931
#> Variable 2  0.5745633  0.5379127  0.4057782   0.2016333  -0.5987912  -0.4684760
#> Variable 3  0.4679337  0.4206028  0.4169883   0.1818059  -0.5353878  -0.7675129
#> Variable 4  0.4510827  0.4865558  0.6294397   0.5241940  -0.3113220  -0.5552403
#> Variable 5  0.4873282  0.6031720  0.6039895   0.4509700  -0.4350464  -0.4225119
#>            Variable 13 Variable 14 Variable 15 Variable 16 Variable 17
#> Variable 1  -0.8366657  -0.3395364  -0.4728122  -0.8568026  -0.2737726
#> Variable 2  -0.5770977  -0.3727827  -0.6269257  -0.5882179  -0.4203314
#> Variable 3  -0.4455656  -0.6841199  -0.5754351  -0.5053452  -0.6267352
#> Variable 4  -0.6976094  -0.3662076  -0.4171242  -0.7013235  -0.5929716
#> Variable 5  -0.8015833  -0.3720145  -0.5965697  -0.7982842  -0.3721560
#>            Variable 18 Variable 19 Variable 20
#> Variable 1  -0.7332692  -0.8343809  -0.2760067
#> Variable 2  -0.6602600  -0.7567811  -0.2308914
#> Variable 3  -0.6209564  -0.4166512  -0.8490359
#> Variable 4  -0.7780355  -0.4739555  -0.4982008
#> Variable 5  -0.7360396  -0.6980414  -0.3610323
#> 
#> $p.value
#>             Variable 1 Variable 2  Variable 3 Variable 4  Variable 5 Variable 6
#> Variable 1 0.070443220  0.5812482 0.005718262  1.0000000 0.105864071 1.00000000
#> Variable 2 0.007308453  0.7989379 0.125825051  1.0000000 0.662984661 0.53335473
#> Variable 3 0.038202557  1.0000000 0.016713965  1.0000000 0.072614882 1.00000000
#> Variable 4 1.000000000  0.4154275 0.439969217  1.0000000 0.054993437 0.04200209
#> Variable 5 1.000000000  1.0000000 0.030851148  0.1996106 0.005324128 1.00000000
#>            Variable 7 Variable 8 Variable 9 Variable 10 Variable 11 Variable 12
#> Variable 1  1.0000000 0.01143166  0.4277553           1   1.0000000 1.000000000
#> Variable 2  0.8055523 1.00000000  1.0000000           1   0.5277546 1.000000000
#> Variable 3  1.0000000 1.00000000  1.0000000           1   1.0000000 0.007815042
#> Variable 4  1.0000000 1.00000000  0.2942234           1   1.0000000 1.000000000
#> Variable 5  1.0000000 0.48718579  0.4799077           1   1.0000000 1.000000000
#>             Variable 13 Variable 14 Variable 15  Variable 16 Variable 17
#> Variable 1 0.0004273601  1.00000000   1.0000000 0.0001412975   1.0000000
#> Variable 2 0.7718375953  1.00000000   0.3093661 0.6372413032   1.0000000
#> Variable 3 1.0000000000  0.08792041   0.7938217 1.0000000000   0.3105395
#> Variable 4 0.0627557964  1.00000000   1.0000000 0.0570127587   0.5859141
#> Variable 5 0.0021479004  1.00000000   0.5493674 0.0024594999   1.0000000
#>            Variable 18  Variable 19  Variable 20
#> Variable 1 0.023459999 0.0004800192 1.0000000000
#> Variable 2 0.153329449 0.0112386887 1.0000000000
#> Variable 3 0.347933259 1.0000000000 0.0002206222
#> Variable 4 0.005370888 1.0000000000 1.0000000000
#> Variable 5 0.021596368 0.0620635401 1.0000000000
#>