1

I'm using the glca package to run a latent class analysis. I want to see how covariates (other than indicators used to construct latent classes) affect the probability of class assignment. I understand this is a multinomial logistic regression, and thus, my question is, is there a way I can change the base reference latent class? For example, my model is currently a 4-class model, and the output shows the effect of covariates on class prevalence with respect to Class-4 (base category) as default. I want to change this base category to, for example, Class-2.

My code is as follows

fc <- item(intrst, respect, expert, inclu, contbt,secure,pay,bonus, benft, innov, learn, rspons, promote, wlb, flex) ~ atenure+super+sal+minority+female+age40+edu+d_bpw+d_skill
lca4_cov <- glca(fc, data = bpw, nclass = 4, seed = 1)

and I get the following output.

> coef(lca4_cov)
Class 1 / 4 :
            Odds Ratio Coefficient  Std. Error  t value  Pr(>|t|)    
(Intercept)   1.507537    0.410477    0.356744    1.151   0.24991    
atenure       0.790824   -0.234679    0.102322   -2.294   0.02183 *  
super         1.191961    0.175600    0.028377    6.188  6.29e-10 ***
sal           0.937025   -0.065045    0.035490   -1.833   0.06686 .  
minority      2.002172    0.694233    0.060412   11.492   < 2e-16 ***
female        1.210653    0.191160    0.059345    3.221   0.00128 ** 
age40         1.443603    0.367142    0.081002    4.533  5.89e-06 ***
edu           1.069771    0.067444    0.042374    1.592   0.11149    
d_bpw         0.981104   -0.019077    0.004169   -4.576  4.78e-06 ***
d_skill       1.172218    0.158898    0.036155    4.395  1.12e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Class 2 / 4 :
            Odds Ratio Coefficient  Std. Error  t value  Pr(>|t|)    
(Intercept)    3.25282     1.17952     0.43949    2.684   0.00729 ** 
atenure        0.95131    -0.04992     0.12921   -0.386   0.69926    
super          1.16835     0.15559     0.03381    4.602  4.22e-06 ***
sal            1.01261     0.01253     0.04373    0.287   0.77450    
minority       0.72989    -0.31487     0.08012   -3.930  8.55e-05 ***
female         0.45397    -0.78971     0.07759  -10.178   < 2e-16 ***
age40          1.26221     0.23287     0.09979    2.333   0.01964 *  
edu            1.29594     0.25924     0.05400    4.801  1.60e-06 ***
d_bpw          0.97317    -0.02720     0.00507   -5.365  8.26e-08 ***
d_skill        1.16223     0.15034     0.04514    3.330   0.00087 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Class 3 / 4 :
            Odds Ratio Coefficient  Std. Error  t value  Pr(>|t|)    
(Intercept)   0.218153   -1.522557    0.442060   -3.444  0.000575 ***
atenure       0.625815   -0.468701    0.123004   -3.810  0.000139 ***
super         1.494112    0.401532    0.031909   12.584   < 2e-16 ***
sal           1.360924    0.308164    0.044526    6.921  4.72e-12 ***
minority      0.562590   -0.575205    0.081738   -7.037  2.07e-12 ***
female        0.860490   -0.150253    0.072121   -2.083  0.037242 *  
age40         1.307940    0.268453    0.100376    2.674  0.007495 ** 
edu           1.804949    0.590532    0.054522   10.831   < 2e-16 ***
d_bpw         0.987353   -0.012727    0.004985   -2.553  0.010685 *  
d_skill       1.073519    0.070942    0.045275    1.567  0.117163    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

I would appreciate it if anyone let me know codes/references to address my problem. Thanks in advance.

Yongjin
  • 31
  • 1
  • 1
    It's easier to help you if you include a simple [reproducible example](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) with sample input and desired output that can be used to test and verify possible solutions. Most likely you can just use the `relevel()` function. – MrFlick Dec 14 '21 at 01:15
  • Thanks for your reply, MrFlick. I'm new to R and also to this forum. Isn't the relevel() function for manifest variables? I'm not sure how to use this function in my case. I've tried to include a subset in this comment using the dput function, but the length exceeds. Can you let me know how to use the relevel() function in a new thread I will upload with the sample data? Thanks. – Yongjin Dec 14 '21 at 01:39

1 Answers1

0

Try using the decreasing option.

lca4_cov <- glca(fc, data = bpw, nclass = 4, seed = 1, decreasing = T)
ryanttb
  • 1,278
  • 13
  • 20
RawisWar
  • 29
  • 4