Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R Fixest软件包:无进一步外生变量的IV估计_R_Regression_Panel Data - Fatal编程技术网

R Fixest软件包:无进一步外生变量的IV估计

R Fixest软件包:无进一步外生变量的IV估计,r,regression,panel-data,R,Regression,Panel Data,我打算使用fixest软件包的feols函数运行具有固定效应的工具变量回归。但是,我在语法上遇到了一些问题,在没有进一步外部控制的情况下指定了一个估计值 考虑以下示例: # Load package require("fixest") # Load data df <- airquality 但是,这会产生一个错误: The dependent variable is a constant. Estimation cannot be done. 只有当我在文档示例

我打算使用fixest软件包的feols函数运行具有固定效应的工具变量回归。但是,我在语法上遇到了一些问题,在没有进一步外部控制的情况下指定了一个估计值

考虑以下示例:

# Load package
require("fixest")

# Load data
df <- airquality
但是,这会产生一个错误:

The dependent variable is a constant. Estimation cannot be done.
只有当我在文档示例中添加更多的外部协变量时,它才起作用:

feols(Temp ~ Solar.R | Month + Day | Ozone ~ Wind, df)
我该如何解决这个问题?在没有进一步控制的情况下,如本例中的Solar.R,如何运行估算


注意:我在堆栈溢出上发表了这篇文章,而不是交叉验证,因为这个问题与编码语法问题有关,而不是与估算背后的计量经济技术有关。

实际上,似乎对如何编写公式存在误解

语法是:Dep_var~Exo_vars | Fixed effects | Endo_vars~Instruments

零件固定效果和Endo_vars~仪器是可选的。另一方面,带有Exo_变量的部件必须始终存在,即使只有截距

了解到这一点,以下工作将起作用:

base = iris
names(base) = c("y", "x1", "x_endo", "x_inst", "fe")

feols(y ~ 1 | x_endo ~ x_inst, base)
#> TSLS estimation, Dep. Var.: y, Endo.: x_endo, Instr.: x_inst
#> Second stage: Dep. Var.: y
#> Observations: 150 
#> Standard-errors: Standard 
#>             Estimate Std. Error t value  Pr(>|t|)    
#> (Intercept) 4.345900    0.08096  53.679 < 2.2e-16 ***
#> fit_x_endo  0.398477    0.01964  20.289 < 2.2e-16 ***
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> RMSE: 0.404769   Adj. R2: 0.757834
#> F-test (1st stage): stat = 1,882.45  , p < 2.2e-16 , on 1 and 148 DoF.
#>         Wu-Hausman: stat =     3.9663, p = 0.048272, on 1 and 147 DoF.

# Same with fixed-effect
feols(y ~ 1 | fe | x_endo ~ x_inst, base)
#> TSLS estimation, Dep. Var.: y, Endo.: x_endo, Instr.: x_inst
#> Second stage: Dep. Var.: y
#> Observations: 150 
#> Fixed-effects: fe: 3
#> Standard-errors: Clustered (fe) 
#>            Estimate Std. Error t value Pr(>|t|)    
#> fit_x_endo 0.900061   0.117798  7.6407 0.016701 *  
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> RMSE: 0.333489     Adj. R2: 0.833363
#>                  Within R2: 0.57177 
#> F-test (1st stage): stat = 44.77    , p = 4.409e-10, on 1 and 146 DoF.
#>         Wu-Hausman: stat =  0.001472, p = 0.969447 , on 1 and 145 DoF.
回到原始示例:

feolsTemp |月+日|臭氧~风,df表示因变量为温度|月+日|臭氧,此处管道表示逻辑OR,导致所有观测值为1。因此出现了错误消息。 要修复它并获得适当的行为,请使用feolsTemp~1 |月+日|臭氧~风,df。
实际上,在如何编写公式方面似乎存在误解

语法是:Dep_var~Exo_vars | Fixed effects | Endo_vars~Instruments

零件固定效果和Endo_vars~仪器是可选的。另一方面,带有Exo_变量的部件必须始终存在,即使只有截距

了解到这一点,以下工作将起作用:

base = iris
names(base) = c("y", "x1", "x_endo", "x_inst", "fe")

feols(y ~ 1 | x_endo ~ x_inst, base)
#> TSLS estimation, Dep. Var.: y, Endo.: x_endo, Instr.: x_inst
#> Second stage: Dep. Var.: y
#> Observations: 150 
#> Standard-errors: Standard 
#>             Estimate Std. Error t value  Pr(>|t|)    
#> (Intercept) 4.345900    0.08096  53.679 < 2.2e-16 ***
#> fit_x_endo  0.398477    0.01964  20.289 < 2.2e-16 ***
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> RMSE: 0.404769   Adj. R2: 0.757834
#> F-test (1st stage): stat = 1,882.45  , p < 2.2e-16 , on 1 and 148 DoF.
#>         Wu-Hausman: stat =     3.9663, p = 0.048272, on 1 and 147 DoF.

# Same with fixed-effect
feols(y ~ 1 | fe | x_endo ~ x_inst, base)
#> TSLS estimation, Dep. Var.: y, Endo.: x_endo, Instr.: x_inst
#> Second stage: Dep. Var.: y
#> Observations: 150 
#> Fixed-effects: fe: 3
#> Standard-errors: Clustered (fe) 
#>            Estimate Std. Error t value Pr(>|t|)    
#> fit_x_endo 0.900061   0.117798  7.6407 0.016701 *  
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> RMSE: 0.333489     Adj. R2: 0.833363
#>                  Within R2: 0.57177 
#> F-test (1st stage): stat = 44.77    , p = 4.409e-10, on 1 and 146 DoF.
#>         Wu-Hausman: stat =  0.001472, p = 0.969447 , on 1 and 145 DoF.
回到原始示例:

feolsTemp |月+日|臭氧~风,df表示因变量为温度|月+日|臭氧,此处管道表示逻辑OR,导致所有观测值为1。因此出现了错误消息。 要修复它并获得适当的行为,请使用feolsTemp~1 |月+日|臭氧~风,df。
谢谢我看到Exo_vars论点似乎是强制性的。但我不知道如何克服它。很高兴知道插入1可以解决问题。顺便说一句,包装很好。是的,那是没办法的。谢谢谢谢我看到Exo_vars论点似乎是强制性的。但我不知道如何克服它。很高兴知道插入1可以解决问题。顺便说一句,包装很好。是的,那是没办法的。谢谢