Исключить переменную из glm () - PullRequest
1 голос
/ 25 апреля 2019

У меня есть несколько наборов данных, где переменная ответа всегда находится в последнем столбце фрейма данных. Я хочу запустить GLM (логистическая регрессия) и автоматизировать его. Я вызываю glm() по позиции, но этот метод всегда включает последнюю переменную.

data(iris)
head(iris) 
train<- iris 
logit <- glm(train[,length(train)]~ . , 
             data = train, family = "binomial")
summary(logit)

Я пытался написать train[,length(train)]~ . -train[,length(train)], но это не сработало.

1 Ответ

1 голос
/ 25 апреля 2019

Довольно многословно, но я думаю, что это должно работать:

logit <- glm(formula(paste0(names(train)[length(train)], '~.')), 
             data = train, 
             family = "binomial")

или использование tail:

logit <- glm(formula(paste0(tail(names(train), 1), '~.')), 
             data = train, 
             family = "binomial")
...