Я пытаюсь запустить бинарной логистической регрессии с использованием для петель в R. Мой код такой же заключается в следующем:логистической регрессии с использованием для петель R
mydata5<-read.table(file.choose(),header=T,sep=",")
colnames(mydata5)
Class <- 1:16
Countries <- 1:5
Months <- 1:7
DayDiff <- 1:28
mydata5$CT <- factor(mydata5$CT)
mydata5$CC <- factor(mydata5$CC)
mydata5$C <- factor(mydata5$C)
mydata5$DD <- factor(mydata5$DD)
mydata5$UM <- factor(mydata5$UM)
for(i in seq(along=Class))
{
mydata5$C=mydata5$C[i];
for(i2 in seq(along=Countries))
{
mydata5$CC=mydata5$CC[i2];
for(i3 in seq(along=Months))
{
mydata5$UM=mydata5$UM[i3];
for(i4 in seq(along=DayDiff))
{
mydata5$DD=mydata5$DD[i4];
lrfit5 <- glm(CT ~ C+CC+UM+DD, family = binomial(link = "logit"),data=mydata5)
summary(lrfit5)
library(lattice)
in_frame<-data.frame(C="mydata5$C[i]",CC="mydata5$CC[i2]",UM="mydata5$UM[i3]",DD="mydata5$DD[i4]")
predict(lrfit5,in_frame, type="response",se.fit=FALSE)
}
}
}
}
Однако, я получаю следующее ошибка: ошибка в contrasts<-
(*tmp*
, значение = contr.funs [1 + ISOF [пп]]): контрасты могут быть применены только к факторам, с 2 или более уровней
Почему происходит ошибка? Кроме того, набор данных «mydata5» имеет около 50000 строк. Пожалуйста, помогите.
Спасибо заранее.
У нас нет данных, поэтому мы не можем запустить это. Вы не говорите нам, в какой строке произошла ошибка (предположим: 'glm'). Почему вы не печатаете i, i2, i3 и i4 в цикле, чтобы узнать, происходит ли это в первый раз или в определенное время? Доходит ли это до очевидной проблемы с построением 'in_frame', где вы помещаете вещи в кавычки? Пожалуйста, улучшите этот вопрос. – Spacedman
Чтение сообщений об ошибках и угадывание снова похоже на ошибку, которую вы получили бы, если бы попытались подгонять модель с данными, которые имели категориальные переменные только с одной категорией - например, пытались приспособить эффект для «пола» только с «мужскими» данными точки. Но это предположение, потому что у нас нет вашего файла данных или образца, чтобы попробовать его. – Spacedman
Какова цель всех этих циклов?!? Похоже, вы ужасно обезображиваете свои данные со всеми этими причудливыми переназначениями. Как сказал @Spacedman, вы должны включить [воспроизводимый пример] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example), иначе мы не сможем проверить возможные решения или даже увидеть, где происходит ошибка. Я предполагаю, что в конце концов, «mydata» имеет все одинаковые значения ковариации после всех этих циклов благодаря векторной переработке. – MrFlick