View source: R/Correlation_Functions.R
r.pc | R Documentation |
This function computes confidence intervals for polychoric correlations obtained from a hetcor object.
r.pc(x, ord, digits = NULL, pdigits = NULL)
x |
A hetcor object produced by hetcor(). |
ord |
A character vector of names for ordinal variables. |
digits |
An integer specifying the number of decimal places to used when rounding the correlation, SE, CI bounds, z-statistic, s-value, BFB, and posterior probability. Defaults to NULL, which does not round the result. |
pdigits |
An integer specifying the number of decimal places to used when rounding the p-value. Defaults to NULL, which does not round the result. |
=============================================================================
This function applies ci.rpc() to all the polyserial correlations in the hetcor object supplied by the user. If the ord argument is shorter than the ord argument used to create the hetcor object, r.pc will extract the subset of polychoric correlations for variables named in the r.pc() ord argument where the two variables have different names.
A data frame containing the results.
Raykov, T., & Marcoulides, G. A. (2011). Introduction to psychometric theory. New York, NY: Routledge.
ci.rpc
for the function used to get the CIs,
p2s
for s-values, p2bfb
for BFBs, and
p2pp
for posterior probabilities.
library(mvtnorm)
library(polycor)
set.seed(12475)
# Create a population correlation matrix.
R <- matrix(0, 4, 4)
R[upper.tri(R)] <- c(.2, .3, .4, .5, .6, .7)
diag(R) <- 1
R <- cov2cor(t(R) %*% R)
# Show population correlations.
round(R, 4)
# Simulate data with normal distributions and correlation structure R.
mydf <- rmvnorm(1000, mean = rep(0, 4), sigma = R)
mydf <- data.frame(mydf)
names(mydf) <- c("x1", "x2", "y1", "y2")
# Show sample correlations.
Rhat <- round(cor(mydf), 4)
Rhat
# Convert y1 & y2 into ordinal categorical variables.
mydf$y1 <- cut(mydf$y1, c(-Inf, .75, Inf))
mydf$y2 <- cut(mydf$y2, c(-Inf, -1, .5, 1.5, Inf))
# Pearson, polychoric, and polyserial correlations, ML estimates.
HC <- hetcor(mydf, ML = TRUE)
HC
# Polychoric correlation, y1 & y2
r.pc(x = HC, ord = c("y1", "y2"))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.