Ошибка логистической регрессии

Test <- read.table("C:/Users/ARAB/Documents/user_table.csv", header=T)
testlog <- glm(Conv ~ active_days, family=binomial("logit"))

это код, который я пытаюсь запустить в R, но получаю сообщение об ошибке

"Error in eval(expr, envir, enclos) : object 'Conv' not found"

Это мой первый день в R. Пожалуйста, помогите мне. Также я вижу Conv в данных, когда использую команду view(). Conv — переменная результата, содержащая 1/0. Также в sas или spss у нас есть возможность моделирования 1 или 0 в бинарной логит-модели. Как мы можем использовать это в R или эта ошибка как-то связана с этим.


person Abhishek Ray    schedule 21.10.2012    source источник
comment
В ответ на ваше последнее предложение: возможно, glm(1-Conv ~ active_days, ...) подойдет? (т.е. просто преобразовать «успехи» в «неудачи» на лету, вычитая переменную ответа из 1)?   -  person Ben Bolker    schedule 21.10.2012


Ответы (3)


Как уже упоминалось @blindJesse, вам нужно указать data.frame, в котором содержатся переменные, с помощью функции data=data.frame внутри glm или с помощью одной из следующих альтернатив.

utils::data(anorexia, package="MASS") # using some R data

# Option 1 (the best one)
glm(Postwt ~ Prewt + Treat + offset(Prewt), family = gaussian, data = anorexia)

# Option 2: Using 'with'
with(anorexia, glm(Postwt ~ Prewt + Treat + offset(Prewt), family = gaussian))

# Option 3: Using 'attach' I don't like it
attach(anorexia)
glm(Postwt ~ Prewt + Treat + offset(Prewt), family = gaussian)

detach(anorexia) # detaching the data.

# Option 4: Using '$'
glm(anorexia$Postwt ~ anorexia$Prewt + Treat + offset(Prewt), family = gaussian)

Пятый вариант может использовать [, который может быть очень похож на четвертый вариант.

person Jilber Urbina    schedule 21.10.2012
comment
@Abhishek Ray, если один из этих ответов соответствует вашим потребностям, вы должны отметить его как принятый, щелкнув зеленую галочку. - person Jilber Urbina; 23.10.2012

Вам нужно указать data.frame, например.

testlog <- glm(Conv ~ active_days, data=Test, family=binomial("logit"))
person blindjesse    schedule 21.10.2012

другая причина этой ошибки заключается в том, что если вы не оставляете пробел между знаком +, glm выдает эту ошибку

  • Саскен
person user3493414    schedule 15.10.2015