在R中,如果每个处理批次都有不同的匹配对照批次,我如何运行回归?

在R中,如果每个处理批次都有不同的匹配对照批次,我如何运行回归?,r,regression,subset,R,Regression,Subset,我试图运行一个diff-in-diff回归,其中每个处理过的变量(批次)与许多未处理的对照批次匹配。我根据每个单独治疗批次的相对位置创建了一个合格对照批次列表,从中随机选择14个对照批次。我有70个治疗批次,每个批次都有14个匹配对照批次的列表。当我尝试运行回归时,我的问题就出现了 我可以运行一个回归,其中使用所有处理批次和所有对照批次,无需特定匹配: m1 <- glm.nb(cpq ~ treated_group*is_post, data = df) m1为了更好地理解,我尝试松散

我试图运行一个diff-in-diff回归,其中每个处理过的变量(批次)与许多未处理的对照批次匹配。我根据每个单独治疗批次的相对位置创建了一个合格对照批次列表,从中随机选择14个对照批次。我有70个治疗批次,每个批次都有14个匹配对照批次的列表。当我尝试运行回归时,我的问题就出现了

我可以运行一个回归,其中使用所有处理批次和所有对照批次,无需特定匹配:

m1 <- glm.nb(cpq ~ treated_group*is_post, data = df)

m1为了更好地理解,我尝试松散地遵循洛克等人的“社区绿化是否减少了犯罪?来自纽黑文,CT,1996-2007年的证据”中的方法。他们对其对照批次进行子集划分,以便每个处理批次的DiD中仅使用满足特定条件的批次。fs.fed.us/nrs/pubs/jrnl/2017/nrs_2017_locke_001.pdf
m2 <- glm.nb(cpq ~ treated_group*is_post, data = filter(df, lot_name %in% control$combo[[2]])))