R语言ATT

#五、倾向得分匹配&ATT
##1-1平衡性检验
#install.packages("MatchIt")
library("MatchIt")

for(i in 1:nrow(newdata)){
  if(newdata$a285[i]==1){newdata$ifinternet[i]=0}
  else {newdata$ifinternet[i]=1}
}
table(newdata$ifinternet)

#1-2基本处理
##以互联网为例,对新媒介进行匹配;#nearest加了replace处理( replace=TRUE)
library(dplyr)
library(Zelig)

internet.out<-matchit(ifinternet~gender+age+hunyin+edu+lnincome_fam+a35+v458+a36+east+west, method="nearest",data =newdata,distance = "glm",link="probit",estimand = "ATT")
internet.out

internet.out
summary(internet.out) ##控制组和处理组
#不同的方法用不同的method参数

z.att <- zelig(a15~ifinternet+gender+age+hunyin+edu+lnincome_fam+a35+v458+a36+east+west, model = "ls",
               data=match.data(internet.out)) %>%
  ATT(treatment = "ifinternet") %>%
  get_qi(qi = "ATT", xvalue = "TE")

att.mean<-mean(z.att)
att.sd<-sd(z.att)
t.value<-att.mean/att.sd

pvalue<-1-pt(t.value,1000)
pvalue
start.p<-ifelse(pvalue<=0.001,"***",
                ifelse(pvalue<=0.05,"**",
                       ifelse(pvalue<=0.1,"*","不显著")))

#最终结果,如果改方法,那就改第9行的method
c(round(att.mean,4),round(att.sd,4),round(t.value,4),round(pvalue,4),start.p)

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值