使用logistf包做Firth逻辑回归,调用stargazer报错如何解决?
解决stargazer无法识别logistf回归结果的问题
stargazer原生不支持logistf包返回的模型对象,这就是你报错Error: Unrecognized object type.的原因。给你几个实用的解决办法:
方法一:用broom包转换格式
安装并加载broom包,它能把logistf的模型结果转换成stargazer可识别的数据框格式:# 加载所需包 library(logistf) library(stargazer) library(broom) # 拟合Firth逻辑回归 result <- logistf(y ~ x1 + x2, data = your_dataset) # 将模型结果转为tidy格式 tidy_model <- tidy(result) # 用stargazer输出,type参数可选"text"(控制台输出)或"latex"(LaTeX格式) stargazer(tidy_model, type = "text")方法二:直接用logistf自带的summary输出
如果只是需要查看回归结果,没必要硬用stargazer,logistf自带的summary函数可以直接输出完整结果:summary(result)方法三:手动提取信息构建矩阵
要是需要定制化输出,可手动提取系数、标准误、p值等关键信息,构建成矩阵后传给stargazer:# 提取模型关键信息 coef_mat <- cbind( Coefficient = coef(result), SE = sqrt(diag(vcov(result))), p_value = result$prob ) # 用stargazer输出定制化矩阵 stargazer(coef_mat, type = "text", title = "Firth's Logistic Regression Results")
内容的提问来源于stack exchange,提问作者NPD
相关产品推荐
相关产品推荐

