我们如何从欧防风对象中提取协方差矩阵?
How can we extract covariance matrix from a parsnip object?
我正在尝试使用 tidymodels 生态系统来执行计量经济学分析。我现在使用的示例来自 “R 计量经济学原理” 作者 Colonescu。书中资料可通过
下载
devtools::install_github("ccolonescue/PoEData")
0.1 例子
我正在创建一个工资歧视模型,它也有交互作用。型号如下
library(tidymodels)
library(PoEdata)#to load the data
library(car)#For linearHypothesis function
正在加载所需的包:carData
lm_model <- linear_reg() %>%
set_engine("lm")#model specification
data("cps4_small")
mod1 <- lm_model %>%
fit(wage~educ+black*female, data=cps4_small)#model fitting
0.2 问题
创建模型后,我想检验不存在基于性别或种族的歧视的假设。换句话说,我需要检验 black、female 和 black:female 的系数在同一类型下都为零的假设。为此,我想使用汽车包中的 linearHypothesis
功能。
hyp <- c("black=0", "female=0", "black:female=0")
tab <- tidy(linearHypothesis(mod1, hyp))
这给我一个错误 there is no applicable method for vcov for an object of class _lm or model_fit
。
那么,有人可以帮助我如何从欧洲防风草对象生成协方差矩阵吗?
您需要使用 extract_fit_engine()
从 parsnip
模型对象中取出底层 lm
拟合对象。
library(tidymodels)
library(PoEdata)
library(car)
data("cps4_small")
lm_model <- linear_reg() %>%
set_engine("lm")
mod1 <- lm_model %>%
fit(wage ~ educ + black * female, data = cps4_small)
hyp <- c("black=0", "female=0", "black:female=0")
mod1 %>%
extract_fit_engine() %>%
linearHypothesis(hyp) %>%
tidy()
#> # A tibble: 2 × 6
#> res.df rss df sumsq statistic p.value
#> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 998 135771. NA NA NA NA
#> 2 995 130195. 3 5576. 14.2 4.53e-9
由 reprex package (v2.0.1)
于 2021-11-13 创建
我正在尝试使用 tidymodels 生态系统来执行计量经济学分析。我现在使用的示例来自 “R 计量经济学原理” 作者 Colonescu。书中资料可通过
下载devtools::install_github("ccolonescue/PoEData")
0.1 例子
我正在创建一个工资歧视模型,它也有交互作用。型号如下
library(tidymodels)
library(PoEdata)#to load the data
library(car)#For linearHypothesis function
正在加载所需的包:carData
lm_model <- linear_reg() %>%
set_engine("lm")#model specification
data("cps4_small")
mod1 <- lm_model %>%
fit(wage~educ+black*female, data=cps4_small)#model fitting
0.2 问题
创建模型后,我想检验不存在基于性别或种族的歧视的假设。换句话说,我需要检验 black、female 和 black:female 的系数在同一类型下都为零的假设。为此,我想使用汽车包中的 linearHypothesis
功能。
hyp <- c("black=0", "female=0", "black:female=0")
tab <- tidy(linearHypothesis(mod1, hyp))
这给我一个错误 there is no applicable method for vcov for an object of class _lm or model_fit
。
那么,有人可以帮助我如何从欧洲防风草对象生成协方差矩阵吗?
您需要使用 extract_fit_engine()
从 parsnip
模型对象中取出底层 lm
拟合对象。
library(tidymodels)
library(PoEdata)
library(car)
data("cps4_small")
lm_model <- linear_reg() %>%
set_engine("lm")
mod1 <- lm_model %>%
fit(wage ~ educ + black * female, data = cps4_small)
hyp <- c("black=0", "female=0", "black:female=0")
mod1 %>%
extract_fit_engine() %>%
linearHypothesis(hyp) %>%
tidy()
#> # A tibble: 2 × 6
#> res.df rss df sumsq statistic p.value
#> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 998 135771. NA NA NA NA
#> 2 995 130195. 3 5576. 14.2 4.53e-9
由 reprex package (v2.0.1)
于 2021-11-13 创建