Цитата(_alena_ @ 13.05.2012 - 21:34)

здравствуйте. скажите как можно обойти следующую ситуацию: исследовали переменные и часть из них вошли в уравнение логистической модели. а что если в каком то из исследований мы не можем задать какую то переменную . как быть в такой ситуации?
Amelia, mitools, mix это пакеты для импутации пропущенных значений в R.
вот такой пример гуглится
Код
titanic <-
read.table("http://lib.stat.cmu.edu/S/Harrell/data/ascii/titanic.txt",
sep=',', header=TRUE)
set.seed(4321)
titanic$sex[sample(nrow(titanic), 10)] <- NA
titanic$pclass[sample(nrow(titanic), 10)] <- NA
titanic$survived[sample(nrow(titanic), 10)] <- NA
library(Amelia) # generate multiple imputations
library(mitools) # for MIextract()
library(mix) # for mi.inference()
titanic.amelia <- amelia(subset(titanic,
select=c('survived','pclass','sex','age')),
m=10, noms=c('survived','pclass','sex'),
emburn=c(500,500))
allimplogreg <- lapply(titanic.amelia$imputations,
function(x){glm(survived ~ pclass + sex + age, family=binomial, data = x)})
mice.betas.glm <- MIextract(allimplogreg, fun=function(x){coef(x)})
mice.se.glm <- MIextract(allimplogreg, fun=function(x){sqrt(diag(vcov(x)))})
as.data.frame(mi.inference(mice.betas.glm, mice.se.glm))
# Or using only mitools for pooled inference
betas <- MIextract(allimplogreg, fun=coef)
vars <- MIextract(allimplogreg, fun=vcov)
summary(MIcombine(betas,vars))