如何从parsnip对象中提取协方差矩阵完成线性假设检验?
报错原因
你传入linearHypothesis()的mod1是tidymodels生态中parsnip定义的model_fit类对象,car包的函数无法直接识别该类结构,需要先提取模型底层的原生lm拟合结果。
解决方案
使用tidymodels自带的extract_fit_engine()函数,即可从parsnip模型对象中提取出底层原生lm模型,修改后的检验代码如下:
hyp <- c("black=0", "female=0", "black:female=0") tab <- tidy(linearHypothesis(extract_fit_engine(mod1), hyp))
如果需要单独获取协方差矩阵,可通过提取出的lm对象调用vcov()实现:
# 单独提取协方差矩阵示例 base_lm_mod <- extract_fit_engine(mod1) vcov_matrix <- vcov(base_lm_mod)
内容的提问来源于stack exchange,提问作者Eva
相关产品推荐
相关产品推荐

