使用 for 循环删除递归回归中的实体

Remove an entity in recursive regressions with a for loop

我正在运行进行面板数据回归。我想 运行 一个 for 循环来获得回归结果,每次删除一个实体时,这样我就可以通过比较不同的系数来了解我的结果是由特定实体驱动的还是它们是整个样本一致。我目前正在使用这个循环

forvalues i = 1/19{
use "sample_seven.dta", clear
drop if countryid == i
xtscc ln_gdp tech population inflation tradebalance i.year, fe}

然而,当我运行上面的代码时,我得到的是 19 个回归,其中每个回归中只删除了两个观察值。

use "sample_seven.dta", clear

forvalues i = 1/19 { 
    di _n "Omitting `i'" 
    xtscc ln_gdp tech population inflation tradebalance i.year if countryid != `i', fe}
} 

您的代码中的错误是没有使用单引号来指定本地宏 i。您的代码有效,因此对 i 的引用被解释为对某个变量的引用,可能是 inflation.

除此之外,无需重复读取数据集。但这将有助于说明省略了哪个国家/地区。