如何在R的glca包中更改潜类别分析协变量的参考水平
修改glca潜类别模型中协变量的参考水平
问题说明
我正在用R语言的glca包估计带协变量的潜类别模型,当前协变量系数表中regiao变量的参考值为CENTRO-OESTE(中西部),希望将其修改为SUDESTE(东南部)。但glca函数里没有设置协变量参考水平的参数,查阅包文档也没找到相关方法。以下是当前的系数表:
优势比 系数 标准误 t值 (Intercept) 2.8047 1.0313 0.5850 1.763 sexoM(男性) 1.1808 0.1662 0.1864 0.892 regiaoNORDESTE(东北部) 0.4893 -0.7147 0.4752 -1.504 regiaoNORTE(北部) 0.2707 -1.3068 0.6937 -1.884 regiaoSUDESTE(东南部) 0.5940 -0.5209 0.4273 -1.219 regiaoSUL(南部) 0.6329 -0.4575 0.4557 -1.004 gde_areaCiências Biológicas(生物科学) 1.9771 0.6816 0.3534 1.929 gde_areaCiências da Saúde(健康科学) 0.6264 -0.4677 0.3312 -1.412 gde_areaCiências Exatas e da Terra(精确与地球科学) 1.8469 0.6135 0.3687 1.664 gde_areaCiências Humanas(人文科学) 0.5270 -0.6405 0.3110 -2.060 gde_areaCiências Sociais Aplicadas(应用社会科学) 0.5824 -0.5406 0.3591 -1.505 gde_areaEngenharias(工程学) 1.4810 0.3927 0.3889 1.010 gde_areaLingüística, Letras e Artes(语言、文学与艺术) 0.8935 -0.1126 0.4627 -0.243 gde_areaOutra(其他领域) 0.5580 -0.5834 0.5493 -1.062 cat_nivel1B(等级1B) 1.5110 0.4128 0.4167 0.990 cat_nivel1C(等级1C) 1.2448 0.2190 0.3806 0.575 cat_nivel1D(等级1D) 1.1694 0.1565 0.3399 0.460 cat_nivel2(等级2) 1.8092 0.5929 0.2991 1.982 cat_nivelSR(等级SR) 1.2244 0.2025 0.7557 0.268 Pr(>|t|) (Intercept) 0.0781 . sexoM(男性) 0.3726 regiaoNORDESTE(东北部) 0.1328 regiaoNORTE(北部) 0.0598 . regiaoSUDESTE(东南部) 0.2231 regiaoSUL(南部) 0.3155 gde_areaCiências Biológicas(生物科学) 0.0540 . gde_areaCiências da Saúde(健康科学) 0.1581 gde_areaCiências Exatas e da Terra(精确与地球科学) 0.0963 . gde_areaCiências Humanas(人文科学) 0.0396 * gde_areaCiências Sociais Aplicadas(应用社会科学) 0.1325 gde_areaEngenharias(工程学) 0.3127 gde_areaLingüística, Letras e Artes(语言、文学与艺术) 0.8078 gde_areaOutra(其他领域) 0.2883 cat_nivel1B(等级1B) 0.3221 cat_nivel1C(等级1C) 0.5651 cat_nivel1D(等级1D) 0.6454 cat_nivel2(等级2) 0.0476 * cat_nivelSR(等级SR) 0.7888 --- 显著性代码: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
解决方案
glca包的协变量参考水平由数据中因子变量的默认参考水平决定,无需在glca函数内设置,直接在数据预处理阶段修改regiao的因子参考水平即可:
- 基础R方法:用
relevel()函数将SUDESTE设为参考水平
# 将regiao转换为因子(若尚未转换) df$regiao <- as.factor(df$regiao) # 修改参考水平为SUDESTE df$regiao <- relevel(df$regiao, ref = "SUDESTE")
- forcats包方法:更简洁的因子水平调整
library(forcats) df$regiao <- fct_relevel(df$regiao, "SUDESTE")
修改完成后重新运行glca模型,系数表中regiao的参考水平就会变为SUDESTE,其他地区的系数将以SUDESTE为基准计算。
内容的提问来源于stack exchange,提问作者Marcelo
相关产品推荐
相关产品推荐

