colpair_map()
transforms a data frame by applying a function to each pair
of its columns. The result is a correlation data frame (see
correlate
for details).
Arguments
- .data
A data frame or data frame extension (e.g. a tibble).
- .f
A function.
- ...
Additional arguments passed on to the mapped function.
- .diagonal
Value at which to set the diagonal (defaults to
NA
).
Examples
## Using `stats::cov` produces a covariance data frame.
colpair_map(mtcars, cov)
#> # A tibble: 11 × 12
#> term mpg cyl disp hp drat wt qsec vs
#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 mpg NA -9.17 -633. -321. 2.20 -5.12 4.51 2.02
#> 2 cyl -9.17 NA 200. 102. -0.668 1.37 -1.89 -0.730
#> 3 disp -633. 200. NA 6721. -47.1 108. -96.1 -44.4
#> 4 hp -321. 102. 6721. NA -16.5 44.2 -86.8 -25.0
#> 5 drat 2.20 -0.668 -47.1 -16.5 NA -0.373 0.0871 0.119
#> 6 wt -5.12 1.37 108. 44.2 -0.373 NA -0.305 -0.274
#> 7 qsec 4.51 -1.89 -96.1 -86.8 0.0871 -0.305 NA 0.671
#> 8 vs 2.02 -0.730 -44.4 -25.0 0.119 -0.274 0.671 NA
#> 9 am 1.80 -0.466 -36.6 -8.32 0.190 -0.338 -0.205 0.0423
#> 10 gear 2.14 -0.649 -50.8 -6.36 0.276 -0.421 -0.280 0.0766
#> 11 carb -5.36 1.52 79.1 83.0 -0.0784 0.676 -1.89 -0.464
#> # … with 3 more variables: am <dbl>, gear <dbl>, carb <dbl>
#> # ℹ Use `colnames()` to see all variable names
## Function to get the p-value from a t-test:
calc_p_value <- function(vec_a, vec_b) {
t.test(vec_a, vec_b)$p.value
}
colpair_map(mtcars, calc_p_value)
#> # A tibble: 11 × 12
#> term mpg cyl disp hp drat wt
#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 mpg NA 9.51e-15 7.98e-11 1.03e-11 3.16e-16 1.03e-16
#> 2 cyl 9.51e-15 NA 1.77e-11 8.32e-13 2.28e- 9 9.12e-11
#> 3 disp 7.98e-11 1.77e-11 NA 1.55e- 3 1.35e-11 1.29e-11
#> 4 hp 1.03e-11 8.32e-13 1.55e- 3 NA 5.28e-13 4.92e-13
#> 5 drat 3.16e-16 2.28e- 9 1.35e-11 5.28e-13 NA 6.02e- 2
#> 6 wt 1.03e-16 9.12e-11 1.29e-11 4.92e-13 6.02e- 2 NA
#> 7 qsec 5.11e- 2 3.73e-35 6.34e-11 7.24e-12 5.91e-33 7.27e-39
#> 8 vs 2.24e-18 3.50e-19 9.62e-12 3.01e-13 2.43e-33 1.33e-18
#> 9 am 2.15e-18 3.07e-19 9.59e-12 3.00e-13 1.14e-33 9.09e-19
#> 10 gear 3.08e-16 5.64e- 9 1.36e-11 5.36e-13 5.75e- 1 3.41e- 2
#> 11 carb 1.68e-17 5.61e-11 1.24e-11 4.55e-13 1.30e- 2 2.31e- 1
#> # … with 5 more variables: qsec <dbl>, vs <dbl>, am <dbl>, gear <dbl>,
#> # carb <dbl>
#> # ℹ Use `colnames()` to see all variable names