polyserial              package:polycor              R Documentation

_P_o_l_y_s_e_r_i_a_l _C_o_r_r_e_l_a_t_i_o_n

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

     Computes the polyserial correlation (and its standard error)
     between a quantitative variable and an ordinal variables, based on
     the assumption that the joint distribution of the quantitative
     variable and a latent continuous variable underlying the ordinal 
     variable is bivariate normal. Either the maximum-likelihood
     estimator or a 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:

     polyserial(x, y, ML = FALSE, control = list(), std.err = FALSE, maxcor=.9999, bins=4)

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

       x: a numerical variable.

       y: an ordered categorical variable; can be numeric, a factor, or
          an ordered factor, but if a factor, its levels should be in
          proper order.

      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 of the correlation and thresholds (for the ML
          estimator); the default is 'FALSE'.

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

    bins: the number of bins into which to dissect 'x' for a test of
          bivariate normality; the default is 4.

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

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

    type: set to '"polyserial"'.

     rho: the polyserial correlation.

    cuts: estimated thresholds for the ordinal variable ('y'), for the
          ML estimator.

     var: the estimated variance of the correlation, or, for the ML
          estimator, \ 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 polyserial 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.

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

     'hetcor', 'polychor', '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
     y <- cut(y, c(-Inf, -1, .5, 1.5, Inf))
     polyserial(x, y)  # 2-step estimate
     polyserial(x, y, ML=TRUE, std.err=TRUE) # ML estimate

