R 如何迭代运行模型

R 如何迭代运行模型,r,R,我有面板数据,我正在应用倾向评分匹配。我使用CBPS包中的以下代码对全样本模型进行了估算 form1 <- (treat ~ X) fit <- CBPS(formula=form1, data = paper1, time=year, id= bankid, ATT = TRUE) form1我已经复制了Blackwell数据集的问题。完整代码如下所示: 数据集中有一个时间id。如果时间等于1,我想匹配。我已经运行了完整的样本模型,虽然 library(CBPS) data("B

我有面板数据,我正在应用倾向评分匹配。我使用CBPS包中的以下代码对全样本模型进行了估算

form1 <- (treat ~ X)
fit <- CBPS(formula=form1, data = paper1, time=year, id= bankid, ATT = TRUE)

form1我已经复制了Blackwell数据集的问题。完整代码如下所示:
数据集中有一个时间id。如果时间等于1,我想匹配。我已经运行了完整的样本模型,虽然

library(CBPS)
data("Blackwell")
attach(Blackwell)
form1<-"d.gone.neg ~ d.gone.neg.l1 + d.gone.neg.l2 + d.neg.frac.l3 + camp.length + camp.length + deminc + base.poll + year.2002 + year.2004 + year.2006 + base.und + office"
fit <- CBPS(formula=form1, data = Blackwell, time=time, id= demName, ATT = TRUE)
m.out <- matchit(d.gone.neg ~ fitted(fit), method = "nearest", data = Blackwell, replace = TRUE)
summary(m.out)
if (time==1){
m.out1 <- matchit(d.gone.neg ~ fitted(fit), method = "nearest", data = Blackwell, replace = TRUE)
}
库(CBPS)
数据(“布莱克威尔”)
附(布莱克威尔)
表单1
if(!require(“pacman”))安装包(“pacman”)
pacman::p_载荷(CBPS、RRF)
数据(“布莱克威尔”)
附(布莱克威尔)

Blackwell$year请查看此信息,我已提供可复制代码@Hack-R。我已在我的帖子的单独答案中提供。期待你的回应。太棒了!谢谢我们只需要把它从答案部分移回你原来的问题。我现在正在工作,但我会尽快帮助你。好的,我已经发布了一个更新的答案,希望这有帮助。由于3个不同的
matchit
对象(结果)在1个对象中的特殊类别,因此无法将它们组合在一起,而是使用
assign
paste
for
循环的每次迭代中在环境中创建对象。本例中的结果是
matchit_2002
matchit_2004
,以及
matchit_2006
。非常感谢。我希望我能够将这些代码复制到我的特定数据中。@ebrahimi好的,我会在下班后查看一下。此评论将在5分钟内自毁:)@Hack-R非常感谢。
library(CBPS)
data("Blackwell")
attach(Blackwell)
form1<-"d.gone.neg ~ d.gone.neg.l1 + d.gone.neg.l2 + d.neg.frac.l3 + camp.length + camp.length + deminc + base.poll + year.2002 + year.2004 + year.2006 + base.und + office"
fit <- CBPS(formula=form1, data = Blackwell, time=time, id= demName, ATT = TRUE)
m.out <- matchit(d.gone.neg ~ fitted(fit), method = "nearest", data = Blackwell, replace = TRUE)
summary(m.out)
if (time==1){
m.out1 <- matchit(d.gone.neg ~ fitted(fit), method = "nearest", data = Blackwell, replace = TRUE)
}
library(CBPS)
data("Blackwell")
attach(Blackwell)
form1<-"d.gone.neg ~ d.gone.neg.l1 + d.gone.neg.l2 + d.neg.frac.l3 + camp.length + camp.length + deminc + base.poll + year.2002 + year.2004 + year.2006 + base.und + office"
fit <- CBPS(formula=form1, data = Blackwell, time=time, id= demName, ATT = TRUE)
m.out <- matchit(d.gone.neg ~ fitted(fit), method = "nearest", data = Blackwell, replace = TRUE)
summary(m.out)
if (time==1){
m.out1 <- matchit(d.gone.neg ~ fitted(fit), method = "nearest", data = Blackwell, replace = TRUE)
}
if (!require("pacman")) install.packages("pacman")

pacman::p_load(CBPS, RRF)
data("Blackwell")
attach(Blackwell)

Blackwell$year <- NA
Blackwell$year[Blackwell$year.2002 == 1] <- 2002
Blackwell$year[Blackwell$year.2004 == 1] <- 2004
Blackwell$year[Blackwell$year.2006 == 1] <- 2006
Blackwell$year.2002 <- NULL
Blackwell$year.2004 <- NULL
Blackwell$year.2006 <- NULL

Blackwell <- na.roughfix(Blackwell)

form1<-"d.gone.neg ~ d.gone.neg.l1 + d.gone.neg.l2 + d.neg.frac.l3 + camp.length + camp.length + deminc + base.poll + year.2002 + year.2004 + year.2006 + base.und + office"
fit <- CBPS(formula=form1, data = Blackwell, time=time, id= demName, ATT = TRUE)
m.out <- matchit(d.gone.neg ~ fitted(fit), method = "nearest", data = Blackwell, replace = TRUE)
summary(m.out)


m.out1 <- list()
n      <- 0

for(i in unique(Blackwell$year)){
  n      <- n+1
  tmp <- matchit(d.gone.neg ~ fitted(fit)[Blackwell$year == i], method = "nearest", data = Blackwell[Blackwell$year == i,], replace = TRUE)
  nam <- paste("matchit_", i, sep = "")
  assign(nam, tmp)
}