Соглашения об именах переменных-предикторов - PullRequest
0 голосов
/ 01 февраля 2019

Конкретные примеры:

log1 <- glm(Outcome ~ Predictor1 + Predictor2, family = binomial(link="logit"),
             data=data)

log2 <- glm(data$Outcome ~ data$Predictor1 + data$Predictor2, 
       family = binomial(link="logit"))

Они будут производить те же модели, и их резюме будут идентичны.

Тогда почему при использовании этих моделей для прогнозирования исхода из данных испытаний значения отличаются?

Пример:

predict(log1,type = "response", newdata = test_dat) == 
predict(log2,type = "response", newdata = test_dat) = "FALSE"

Я не так знаком с R, какЯ бы хотел, но я не могу объяснить разницу.Помогите?

1 Ответ

0 голосов
/ 01 февраля 2019

Для сравнения двух объектов используйте identical(log1, log2);однако проблема в том, что имена являются частью объектов, поэтому, если имена разные, объекты не могут быть идентичными, даже если все числа, лежащие в их основе, одинаковы.

Например, обратите внимание, как Timeи BOD$Time являются частью fm1 и fm2:

fm1 <- lm(demand ~ Time, BOD)
fm2 <- lm(BOD$demand ~ BOD$Time)

fm1[[1]]
## (Intercept)        Time 
##    8.521429    1.721429 

fm2[[1]]
## (Intercept)    BOD$Time 
##    8.521429    1.721429 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...