psych (version 1.0-17)

phi: Find the phi coefficient of correlation between two dichotomous variables

Description

Given a 1 x 4 vector or a 2 x 2 matrix of frequencies, find the phi coefficient of correlation. Typical use is in the case of predicting a dichotomous criterion from a dichotomous predictor.

Usage

phi(t, digits = 2)

Arguments

t
a 1 x 4 vector or a 2 x 2 matrix
digits
round the result to digits

Value

  • phi coefficient of correlation

Details

In many prediction situations, a dichotomous predictor (accept/reject) is validated against a dichotomous criterion (success/failure). Although a polychoric correlation estimates the underlying Pearson correlation as if the predictor and criteria were continuous and bivariate normal variables, the phi coefficient is the Pearson applied to a matrix of 0's and 1s.

The calculation follows J. Wiggins discussion of personality assessment.

See Also

phi2poly

Examples

Run this code
phi(c(30,20,20,30))
phi(c(40,10,10,40))
x <- matrix(c(40,5,20,20),ncol=2)
phi(x)

## The function is currently defined as
function(t,digits=2)
{  # expects: t is a 2 x 2 matrix or a vector of length(4)
   stopifnot(prod(dim(t)) == 4 || length(t) == 4)
   if(is.vector(t)) t <- matrix(t, 2)
   r.sum <- rowSums(t)
   c.sum <- colSums(t)
   total <- sum(r.sum)
   r.sum <- r.sum/total
   c.sum <- c.sum/total
   v <- prod(r.sum, c.sum)
   phi <- (t[1,1]/total - c.sum[1]*r.sum[1]) /sqrt(v)
return(round(phi,2))  }

Run the code above in your browser using DataCamp Workspace