使用ggplot2 facet_grid绘制LCA拟合折线图时y轴格式错误
poLCA包LCA分析facet_grid绘制拟合准则图y轴异常问题
问题背景
- 基于R语言
poLCA包完成潜在类别分析(Latent Class Analysis, LCA),本次分析设置的待检验类别数范围为1-10类,需要通过ggplot2的facet_grid函数绘制分面的类别拟合准则图,用于可视化对比不同类别数模型的拟合效果、筛选最优模型。 - LCA实现过程参考了公开教程提供的示例代码,该教程为分析流程搭建提供了极大帮助。
异常表现
绘制LCA拟合准则图时,各分面的y轴格式不符合预期:
ggplot2未自动选择适配的坐标轴刻度生成标准肘部图(elbow plot),反而针对数据框中的输入数据点设置了范围过窄的y轴区间- 最终输出的折线接近直线,几乎无法通过可视化判断对应准则下的最优模型,和参考教程给出的肘部图示例效果差异极大
异常输出效果截图如下:
当前绘图代码
fit.plot <- ggplot(results_young_lca) + geom_point(aes(x = Model, y = Quality), size = 2) + geom_line(aes(x = Model, y = Quality, group = 1)) + theme_bw() + labs(x = "", y = "", title = "Results for LCA in young adults (18 - 36 years)") + facet_grid(Criteria ~ ., scales = "free") + theme_bw(base_size = 8, base_family = "") + theme(panel.grid.major.x = element_blank(), panel.grid.major.y = element_line(color = "grey", size = 0.25), legend.title = element_text(size = 8, face = "bold"), axis.text = element.text(size = 8), axis.title = element_text(size = 8), legend.text = element.text(size = 10), axis.line = element_line(color = "black"))
排查情况与诉求
- 初步推测问题和
facet_grid()中的scales参数有关,但尝试多种参数调整方案均未解决问题 - 若单独为每个拟合准则绘制单图耗时极长:需要对多个不同分组的大型数据集完成LCA分析,单图绘制的效率无法满足批量分析需求,因此需要可复现的分面绘图修复方案
注:本次为首次发帖,如有表述不清的地方可告知,会补充说明相关信息。
内容的提问来源于stack exchange,提问作者L.Steell
相关产品推荐
相关产品推荐

