使用LCAvarsel时触发prettyNum报错,求问题定位及解决方案
LCAvarsel包报错解决:invalid value 0 for 'digits' argument
问题重现
运行以下潜在类别分析变量选择代码时触发错误:
install.packages("LCAvarsel") install.packages("poLCA") library(LCAvarsel) library(poLCA) data(carcinoma) sel1 <- LCAvarsel(carcinoma)
错误信息:
Error in prettyNum(.Internal(format(x, trim, digits, nsmall, width, 3L, :
invalid value 0 for 'digits' argument
报错原因
该错误由LCAvarsel默认参数设置异常导致:默认潜在类别数G=1,但潜在类别分析(LCA)的核心逻辑要求至少2个类别,这会引发内部调用poLCA时的计算异常,进而导致prettyNum函数接收到无效的digits=0参数。
解决方案
1. 显式指定潜在类别数G
调用LCAvarsel时手动设置G为≥2的整数(可根据研究需求调整类别数),示例代码:
install.packages("LCAvarsel") install.packages("poLCA") library(LCAvarsel) library(poLCA) data(carcinoma) # 指定2个潜在类别,可按需改为3、4等 sel1 <- LCAvarsel(carcinoma, G = 2)
2. 更新相关包到最新版本
若问题仍存在,可能是旧版本包的bug导致,执行以下命令更新:
update.packages(c("LCAvarsel", "poLCA"))
内容的提问来源于stack exchange,提问作者EB3112
相关产品推荐
相关产品推荐

