Я начал использовать R не так давно go, мои извинения, если мне потребуется некоторое время, чтобы понять ваши ответы. Я пытаюсь подбирать пациентов по показателю склонности. У меня есть 3 группы "лечения" - группа AKI, группа AKR и группа без почечной дисфункции, эта переменная, названная "kidney_groups" в моих данных. Я хочу оценить, предсказывает ли эта переменная смерть в течение года по регрессии Кокса (с еще двумя переменными, которые я не хочу сопоставлять). Я хочу рассчитать оценку склонности каждого пациента по переменным STSscoremortality и GFR_mdrd_epi. Я использовал 2 разных кода для расчета показателя склонности, и я не уверен, что мне нужно делать дальше, чтобы я мог сопоставить своих пациентов и использовать эти сопоставленные данные в регрессии Кокса. первый код, который я использовал:
#######makepropensity score data###############
## Function to add generalized PS to dataset
AddGPS <- function(data, formula, family = multinomial(), psPrefix = "PS_") {
## Fit multinomial logistic regression
resVglm <- vglm(formula = formula, data = data, family = family)
## Calculate PS
psData <- as.data.frame(predict(resVglm, type = "response"))
names(psData) <- paste0(psPrefix, names(psData))
cbind(data, psData)
}
zTavi<-AddGPS(data = fTavi, # dataset
## Propensity score model for multinomial regression
formula = fTavi$kidney_groups ~ fTavi$GFR_mdrd_EPI+fTavi$STSscoremortality)
В этом коде я получил 3 новые переменные: PS_1, PS_2, PS_3 - показатель склонности для каждой группы лечения
Во втором коде я использовал Trimatch пакет:
fTavi.tpsa <- trips(fTavi, fTavi$kidney_groups, formu)
fTavi.matched.caliper <- trimatch(fTavi.tpsa, method=NULL)
summary(unmatched(fTavi.matched.caliper))
matched.out <- merge( fTavi.matched.caliper , fTavi$death1Y)
но из второго кода я получил странные данные с 11 050 строками (хотя мои исходные данные имеют только 1328 строк и только около 650 совпадающих данных):
dim (fTavi.matched.caliper) [1] 11050 7
Спасибо