occupationalStatus            package:gnm            R Documentation

_D_a_t_a _o_n _O_c_c_u_p_a_t_i_o_n_a_l _S_t_a_t_u_s _o_f _F_a_t_h_e_r_s _a_n_d _t_h_e_i_r _S_o_n_s

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

     Cross-classification of a sample of British males according to
     each subject's occupational status and his father's occupational
     status.

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

     data(occupationalStatus)

_F_o_r_m_a_t:

     A table of counts, with classifying factors 'origin' (father's
     occupational status; levels '1:8') and 'destination' (son's
     occupational status; levels '1:8').

_S_o_u_r_c_e:

     Goodman, L. A. (1979) Simple Models for the Analysis of
     Association in Cross-Classifications having Ordered Categories.
     _J. Am. Stat. Assoc._, *74(367)*, 537-552.

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

     set.seed(1)
     data(occupationalStatus)

     ##  Fit a uniform association model separating diagonal effects
     Rscore <- scale(as.numeric(row(occupationalStatus)), scale = FALSE)
     Cscore <- scale(as.numeric(col(occupationalStatus)), scale = FALSE)
     Uniform <- glm(Freq ~ origin + destination + Diag(origin, destination) + 
                    Rscore:Cscore, family = poisson, data = occupationalStatus)

     ##  Fit an association model with homogeneous row-column effects
     RChomog <- gnm(Freq ~ origin + destination + Diag(origin, destination) +
                    Nonlin(MultHomog(origin, destination)), family = poisson,
                    data = occupationalStatus)

     ##  Fit an association model with separate row and column effects
     RC <- gnm(Freq ~ origin + destination + Diag(origin, destination) +
               Mult(origin, destination), family = poisson,
               data = occupationalStatus)

     ##  Partition row and column effects
     row.and.column.effects <- c(df = Uniform$df.res - RC$df.res,
                                 deviance = Uniform$dev - RC$dev)
     homogeneous.row.column.effect <- c(df = Uniform$df.res - RChomog$df.res,
                                         deviance = Uniform$dev - RChomog$dev)
     row.column.difference.effect <- row.and.column.effects -
         homogeneous.row.column.effect
     rbind(homogeneous.row.column.effect,
           row.column.difference.effect,
           row.and.column.effects)

