Code
data <-
data %>%
mutate(
Subject.ID = NULL,
Height = Height..cm./100,
Weight = Weight..kg.,
Treated = factor(Treated, levels = c('N', 'Y'), labels = c('No', 'Yes')),
Improved = factor(Improved, levels = c(F, T), labels = c('No', 'Yes')),
BMI = Weight / (Height^2)
) %>%
select(Treated, BMI, Improved)
logit1 <- glm(Improved ~ Treated, data = data, family = 'binomial')
summary(logit1) # AIC: 372.12
logit2 <- glm(Improved ~ Treated + BMI, data = data, family = 'binomial')
summary(logit2) # AIC: 361.76
logit3 <- glm(Improved ~ Treated + BMI + Treated : BMI, data = data, family = 'binomial')
summary(logit3) # AIC: 363.75
logit4 <- glm(Improved ~ Treated : BMI, data = data, family = 'binomial')
summary(logit4) # AIC: 362.23
pred1 <- predict(logit1, type="response")
pred2 <- predict(logit2, type="response")
pred3 <- predict(logit3, type="response")
pred4 <- predict(logit4, type="response")
lvls <- levels(data$Improved)
pred1 <- ifelse(pred1 < 0.5, lvls[1], lvls[2])
pred2 <- ifelse(pred2 < 0.5, lvls[1], lvls[2])
pred3 <- ifelse(pred3 < 0.5, lvls[1], lvls[2])
pred4 <- ifelse(pred4 < 0.5, lvls[1], lvls[2])
data$pred1 <- factor(pred1, lvls)
data$pred2 <- factor(pred2, lvls)
data$pred3 <- factor(pred3, lvls)
data$pred4 <- factor(pred4, lvls)
t1 <- xtabs(~Improved + pred1, data=data)
t2 <- xtabs(~Improved + pred2, data=data)
t3 <- xtabs(~Improved + pred3, data=data)
t4 <- xtabs(~Improved + pred4, data=data)
acc1 <- round(100 * (t1[1,1] + t1[2/2])/sum(t1),3)
acc2 <- round(100 * (t2[1,1] + t2[2/2])/sum(t2),3)
acc3 <- round(100 * (t3[1,1] + t3[2/2])/sum(t3),3)
acc4 <- round(100 * (t4[1,1] + t4[2/2])/sum(t4),3)