polychor               package:polycor               R Documentation

_P_o_l_y_c_h_o_r_i_c _C_o_r_r_e_l_a_t_i_o_n

_D_e_s_c_r_i_p_t_i_o_n:

     Computes the polychoric correlation (and its standard error)
     between two ordinal variables or from their contingency table,
     under the  assumption that the ordinal variables dissect
     continuous latent variables that are bivariate normal. Either the
     maximum-likelihood estimator or a (possibly much) quicker
     ``two-step'' approximation is available. For the ML estimator, the
     estimates of the thresholds and the covariance matrix of the
     estimates are also available.

_U_s_a_g_e:

     polychor(x, y, ML = FALSE, control = list(), std.err = FALSE, maxcor=.9999)

_A_r_g_u_m_e_n_t_s:

       x: a contingency table of counts or an ordered categorical
          variable; the latter can be numeric, a factor, or an ordered
          factor, but if a factor, its levels should be in proper
          order.

       y: if 'x' is a variable, a second ordered categorical variable.

      ML: if 'TRUE', compute the maximum-likelihood estimate; if
          'FALSE', the default, compute a quicker ``two-step''
          approximation.

 control: optional arguments to be passed to the 'optim' function.

 std.err: if 'TRUE', return the estimated variance of the correlation
          (for the two-step estimator)  or the estimated covariance
          matrix (for the ML estimator) of the correlation and
          thresholds; the default is 'FALSE'.

  maxcor: maximum absolute correlation (to insure numerical stability).

_V_a_l_u_e:

     If 'std.err' is 'TRUE',  returns an object of class '"polycor"'
     with the following components: 

    type: set to '"polychoric"'.

     rho: the polychoric correlation.

row.cuts: estimated thresholds for the row variable ('x'), for the ML
          estimate.

col.cuts: estimated thresholds for the column variable ('y'), for the
          ML estimate.

     var: the estimated variance of the correlation, or, for the ML
          estimate,  the estimated covariance matrix of the correlation
          and thresholds.

       n: the number of observations on which the correlation is based.

   chisq: chi-square test for bivariate normality.

      df: degrees of freedom for the test of bivariate normality.

      ML: 'TRUE' for the ML estimate, 'FALSE' for the two-step
          estimate.

     Othewise, returns the polychoric correlation.

_A_u_t_h_o_r(_s):

     John Fox jfox@mcmaster.ca

_R_e_f_e_r_e_n_c_e_s:

     Drasgow, F. (1986)  Polychoric and polyserial correlations.  Pp.
     68-74 in S. Kotz and N. Johnson, eds., _The Encyclopedia of
     Statistics, Volume 7._ Wiley.

     Olsson, U. (1979) Maximum likelihood estimation of the polychoric
     correlation coefficient. _Psychometrika_ *44*, 443-460.

_S_e_e _A_l_s_o:

     'hetcor', 'polyserial', 'print.polycor', 'optim'

_E_x_a_m_p_l_e_s:

     data <- rmvnorm(1000, c(0, 0), matrix(c(1, .5, .5, 1), 2, 2))
     x <- data[,1]
     y <- data[,2]
     cor(x, y)  # sample correlation
     x <- cut(x, c(-Inf, .75, Inf))
     y <- cut(y, c(-Inf, -1, .5, 1.5, Inf))
     polychor(x, y)  # 2-step estimate
     polychor(x, y, ML=TRUE, std.err=TRUE)  # ML estimate

