У меня есть база данных из 96 наблюдений (пациентов) и 1098 переменных (генов). Ответ является двоичным (Y и N), а предикторы являются числовыми. Я пытаюсь выполнить перекрестную проверку с исключением одного, но меня интересует не стандартная ошибка, а p-значения для каждой переменной из каждой из 95 моделей логистической регрессии, созданных из LOOCV. Это мои попытки до сих пор:
#Data frame 96 observations 1098 variables
DF2
fit <- list()
for (i in 1:96){
df <- DF2[-i,]
fit[[i]] <- glm (response ~., data= df, family= "binomial")
}
model_pvalues <- data.frame(model = character(), p_value = numeric())
Эти выходные данные соответствуют большому списку с 16 элементами и списку из 30: $ коэффициенты, $ остатки, $ приспособленные. значения ....
Попытка 1:
for (i in length(fit)){
model_pvalues <- rbind(model_pvalues, coef(summary(fit[[i]])))
}
Это выводит в "model_pvalues" 95 наблюдений (перехват и 94 переменные) и 4 переменные: оценка, стандарт. Ошибка, значение z, Pr(>|z|). Однако то, что я действительно пытаюсь получить, - это значение p для всех 1097 переменных для 95 моделей, построенных путем исключения одной перекрестной проверки.
Попытка 2:
for (i in length(fit)){
model_pvalues <- rbind(model_pvalues, coef(summary(fit[[i]]))[4])
}
Когда я запустил это, я получил одно число (не уверен, откуда, предполагая бета-версию) для одной переменной.
Попытка 3:
for (i in 1:96){
df <- DF2[-i,]
fit[[i]] <- glm (response ~., data= df, family= "binomial")
model_pvalues <- rbind(model_pvalues, coef(summary(fit[[i]])))
}
Когда я запускаю это, я получаю кадр данных из 1520 наблюдений 4 переменных: оценка, стандарт. Ошибка, значение z, Pr(>|z|). Наблюдения начинаются с (Intercept), за которым следуют 82 переменные. После этого он повторяет этот шаблон с (Intercept1) и теми же 82 переменными, вплоть до (Intercept15).
Итак, моя конечная цель — создать 95 моделей с помощью LOOCV и получить p-значения для всех 1097 переменных, используемых во всех моделях. Любая помощь будет очень высоко ценится!
Изменить: пример данных (настоящие наблюдения DF 96 для 1098 переменных)
Response X1 X2 X3 X4 X5 X6 X7 X8 X9 X10
P1 N 1 1 1 0 1 0 1 0 2 2
P2 N 2 1 1 0 2 2 1 2 2 2
P3 N 2 1 2 1 1 0 1 1 0 1
P4 Y 1 1 2 0 1 0 0 1 1 1
P5 N 2 2 1 1 1 0 0 0 1 1
P6 N 2 1 2 1 1 0 0 0 2 1
P7 Y 2 1 1 0 2 0 0 0 2 0
P8 Y 2 1 1 0 2 0 0 1 0 2
P9 N 1 1 1 0 2 0 0 0 1 0
P10 N 2 1 2 1 1 0 1 0 0 2