PSM傾向性評(píng)分

傾向性評(píng)分中的結(jié)局變量不用管,其實(shí)沒(méi)有用到,根據(jù)因變量調(diào)整所有的協(xié)變量就可以了??ㄣQ值用來(lái)再次對(duì)沒(méi)有匹配的指標(biāo)進(jìn)行進(jìn)一步的調(diào)整。

library(MatchIt)
library(tableone)
rt1=read.table("genesymbol.txt",sep="\t",header=T,check.names=F)
data(lalonde)
head(lalonde,4)
str(lalonde)

dput(names(lalonde))
preBL <- CreateTableOne(vars=c("treat","age","educ","black","hispan","married","nodegree","re74","re75","re78"),
                        strata="treat",data=lalonde,
                        factorVars=c("treat","black","hispan","married","nodegree"))
# treat是感興趣變量,re78為結(jié)局變量
print(preBL,showAllLevels = TRUE)

f=matchit(treat~re74+re75+educ+age+married+nodegree,data=lalonde,method="nearest",ratio = 1)
# treat是感興趣變量,re78為結(jié)局變量

summary(f)


matchdata=match.data(f)
mBL <- CreateTableOne(vars=c("treat","age","educ","black","hispan","married","nodegree","re74","re75","re78"),
                      strata="treat",data=matchdata,
                      factorVars=c("treat","black","hispan","married","nodegree"))
print(mBL,showAllLevels = TRUE)

plot(f, type = 'jitter', interactive = FALSE)



# hispan不平衡,需要卡鉗值
f1=matchit(treat~re74+re75+educ+black+hispan+age+married+nodegree,data=lalonde,method="nearest",caliper=0.05)
summary(f1)

matchdata1=match.data(f1)
mBL1 <- CreateTableOne(vars=c("treat","age","educ","black","hispan","married","nodegree","re74","re75","re78"),
                       strata="treat",data=matchdata1,
                       factorVars=c("treat","black","hispan","married","nodegree"))
print(mBL1,showAllLevels = TRUE)
plot(f1, type = 'jitter', interactive = FALSE)

#導(dǎo)出數(shù)據(jù)
library(foreign)
matchdata$id<-1:nrow(matchdata)
write.csv(matchdata1,"matchdata.csv")

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容