Package 'corx'

Title: Create and Format Correlation Matrices
Description: Create correlation (or partial correlation) matrices. Correlation matrices are formatted with significance stars based on user preferences. Matrices of coefficients, p-values, and number of pairwise observations are returned. Send resultant formatted matrices to the clipboard to be pasted into excel and other programs. A plot method allows users to visualize correlation matrices created with 'corx'.
Authors: James Conigrave [aut, cre]
Maintainer: James Conigrave <[email protected]>
License: MIT + file LICENSE
Version: 1.0.7.2
Built: 2025-01-23 03:10:14 UTC
Source: https://github.com/conig/corx

Help Index


adjust_p

Description

adjust_p

Usage

adjust_pmat(pmat, p_adjust)

Arguments

pmat

matrix of p-values to adjust

p_adjust

character describing adjustment to make. See stats::p.adjust


apa matrix

Description

Creates an apa matrix

Usage

apa_matrix(r_matrix, p_matrix, stars, round, remove_lead, triangle)

Arguments

r_matrix

correlation coefficient matrix

p_matrix

p-value matrix

stars

a vector of pvalue stars

round

How many digits to round to?

remove_lead

a logical. Should leading zeros be removed?

triangle

can select lower upper or NULL


apa_table.corx

Description

method for papaja::apa_table for corx objects

Usage

apa_table.corx(corx, ...)

Arguments

corx

corx object

...

Other arguments to papaja::apa_table


check_classes

Description

check all classes are as expected

Usage

check_classes(data, ok_classes, stop_message, stop = TRUE)

Arguments

data

the data object

ok_classes

a vector of allowed classes

stop_message

a character string provided to users if error triggers.

stop

should the variable stop, or create a warning?


cormat_list

Description

cormat_list

Usage

cormat_list(data, x, y, z, method, p_adjust)

Arguments

data

data.frame

x

character vector, row names

y

character vector, column names

z

character vector, partial variable names

method

string, passed to cor.test

p_adjust

string, passed to p.adjust


corx

Description

Calculates correlations matrices. Relevant values are stored in a list with methods for easy retrieval and formatting in publication ready tables.

Usage

corx(
  data,
  x = NULL,
  y = NULL,
  z = NULL,
  method = c("pearson", "spearman", "kendall"),
  stars = c(0.05, 0.01, 0.001),
  p_adjust = c("none", "holm", "hochberg", "hommel", "bonferroni", "BH", "BY", "fdr"),
  round = 2,
  remove_lead = TRUE,
  triangle = NULL,
  caption = NULL,
  note = NULL,
  describe = FALSE,
  grey_nonsig = TRUE,
  call_only = FALSE
)

Arguments

data

data.frame or matrix

x

a vector of rownames. Defaults to all

y

a vector of colnames. If not supplied, y is set to x.

z

a vector of variable names. Control variables to be used in partial correlations - defaults to NULL

method

character. One of "pearson", "spearman", or "kendall"

stars

a numeric vector. This argument defines cut-offs for p-value stars.

p_adjust

character. What adjustment for multiple tests should be used? One of "none" (default), "holm", "hochberg", "hommel", "bonferroni", "BH", "BY", or "fdr"

round

numeric. Number of digits in printing

remove_lead

logical. if TRUE (the default), leading zeros are removed in summaries

triangle

character. one of "lower", "upper" or NULL (the default)

caption

character. table caption. Passed to plots

note

character. Text for a table note

describe

list of named functions. If functions are supplied to describe, new columns will be bound to the 'APA matrix' for each function in the list. Describe also accepts a variety of shortcuts. If describe is set to TRUE, mean and standard deviation are returned for all row variables. Describe can accept a character vector to call the following descriptive functions: c('mean','sd','var','median','iqr','skewness','kurtosis'). These shortcuts are powered by 'tidyselect'. Skewness and kurtosis are calculated using the 'moments' package. All functions retrieved with shortcuts remove missing values.

grey_nonsig

logical. Should non-significant values be grey in output? This argument does nothing if describe is not set to FALSE

call_only

logical. For debugging, if TRUE only the call is returned

Details

Constructs correlation matrices using 'stats::cor.test' unless z is specified. When z is specified ppcor::ppcor.test is used instead. Character and factor variables are not accepted. To prevent errors, users must first convert all variables to numeric.

## Partial correlations:

Supplying the argument z will call ppcor::pcor.test the correlation pair are supplied to arguments x and y. The vector of z given to corx is passed to argument z in pcor.test.

## Missing data:

Observations containing missing data required to complete a correlation or partial correlation are automatically removed.

## P-adjust:

P-values attained can be adjusted for multiple comparisons by using the 'p_adjust' argument. This calls the function stats::p.adjust. When a matrix is symmetrical, p-values are only adjusted for unique comparisons. When a correlation matrix is not symmetrical, all comparisons are assumed to be unique.

Value

A list of class 'corx' which includes: * "call" The call which if evaluated reproduces the object * "apa" An 'APA' formatted correlation matrix with significance stars * "r" Raw correlation coefficients * "p" p-values * "n" Pairwise observations * "caption" Object caption * "note" Object note

Examples

cor_mat <- corx(mtcars, x = c(mpg,cyl,disp), y = c(wt,drat,disp,qsec),
           z = wt, round = 2, stars = c(0.05),
           caption = "Controlling for weight" ,
           describe = list("mean" = function(x) mean(x,na.rm=TRUE)))
cor_mat
coef(cor_mat)
cor_mat$p
plot(cor_mat)
cor_2 <- corx(iris[,-5], describe = c(median, IQR = iqr, kurt = kurtosis),
         note = "Using shortcuts to select describe functions", triangle = "lower")
cor_2

digits

Description

Consistent rounding for strings

Usage

digits(x, n = 2)

Arguments

x

number to round

n

number of digits


partial_n_matrix

Description

Calculate complete observations for a crosstab + a third variable

Usage

partial_n_matrix(data, x, y, z)

Arguments

data

data.frame or matrix

x

rownames

y

colnames

z

partial variable vector


plot_mds

Description

Perform multidimensional scaling of a corx object and plot results

Usage

plot_mds(corx, k = NULL, abs = TRUE, ...)

Arguments

corx

corx object

k

numeric. The number of clusters. If set to "auto" will be equal to the number of principal components that explain more than 5% of total variance.

abs

logical. If TRUE (the default) negative correlations will be turned positive. This means items with high negative correlations will be treated as highly similar.

...

additional arguments passed to ggpubr::ggscatter

Details

plot_mds performs classic multidimensional scaling on a correlation matrix. The correlation matrix is first converted to a distance matrix using psych::cor2dist. This function employs the following formula:

d=(2(1r))d = \sqrt(2*(1-r))

These distances are then passed to stats::cmdscale where k = 2. To compute latexlatex, distances are predict from the cmdscale output and correlated with input distances. This correlation is squared. If the value of R2R^2 is less than 70%, a warning will inform users that two-dimensions may not be sufficient to represent item relationships. The position of variables is then plotted with ggplot2. Clusters of items are identified using stats::kmeans. The number of clusters is determined using principal component analysis unless specified.

References

Carlson, D.L., 2017. Quantitative methods in archaeology using R. Cambridge University Press.


plot.corx

Description

plot.corx

Usage

## S3 method for class 'corx'
plot(x, ...)

Arguments

x

a corx object

...

other arguments to ggcorrplot::ggcorrplot


print.corx

Description

print.corx

Usage

## S3 method for class 'corx'
print(x, ...)

Arguments

x

object

...

extra arguments


rename if needed

Description

Renames columns

Usage

rename_if_needed(data, x)

Arguments

data

data object

x

a character vector. If named, columns will be renamed


star_matrix

Description

Replaces p-values with stars

Usage

star_matrix(m, stars)

Arguments

m

matrix of p-values

stars

a vector of p-value thresholds to replace with stars


to_clipboard

Description

Sends a formatted corx table to the clipboard so that it can be pasted into excel.

Usage

to_clipboard(x, ...)

Arguments

x

a corx object, matrix, or data.frame

...

additional arguments passed to 'clipr::write_clip'


to_table

Description

Tabulate correlation matrices

Usage

to_table(corx, include_p = FALSE)

Arguments

corx

a corx object

include_p

logical. should p-values be included?