Function for calculating polyserial correlations
This function calculates polyserial correlations using either an ad hoc or ML estimator.
polyserial(x, y, ml = TRUE)
x
: A continuous variable.y
: An ordinal variable with at least two categories.ml
: A logical variable indicating whether to use a formal maximum likelihood estimator (default) or an ad hoc estimator.The variables should be numeric. The function returns NA is y has only one category.
Returns the polyserial correlation.
Olsson, U., Drasgow, F. & Dorans, N. J. (1982). The Polyserial Correlation Coefficient. Psychometika, 47, 337-347.
John T. Willse
x <- rnorm(500, 50,5) y <- x + rnorm(500,0,2) x <- x + rnorm(500,0,2) cor(x,y) y <- ifelse(y>50,1,0) cor(x,y) polyserial(x,y, ml=FALSE) polyserial(x,y)
Useful links