#r #glm #categorical-data
#r #глм #категориальный-данные #glm
Вопрос:
Я полный новичок в R / R Studio, программировании и статистике в целом.
В R я запускаю GLM, где моя переменная Y — это категория no / yes (0/1), а моя переменная X — категория пола (женский / мужской).
Итак, я запустил следующий скрипт:
hello <- read.csv(file.choose())
hello$sexbin <- ifelse(hello$Sex == 'm',0,ifelse(hello$Sex == 'f',1,NA))
modifhello <- subset(hello,hello$Combi_cag_long>=36)
model1 <- glm(modifhello$VAB~modifhello$Sex, family=binomial(link=logit),
na.action=na.exclude, data=modifhello)
summary.lm(model1)
Однако в моем выводе R, похоже, разделил male / female как две отдельные переменные, предполагая, что он не рассматривает их как правильные двоичные переменные:
Coefficients
Estimate Std. Error t value Pr(>|t|)
(Intercept) -3.689 1.009 -3.656 0.000258 ***
modifhello$Sexf 2.506 1.010 2.482 0.013084 *
modifhello$Sexm 2.922 1.010 2.894 0.003820 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Что мне нужно добавить в мой сценарий, чтобы исправить это?
НАЙДЕНО РЕШЕНИЕ
Нужно просто поставить modifhello $VAB ~modifhello $sexbin, а не modifhello $ VAB ~ modifhello $ sex (так как это старая колонка).
Комментарии:
1. Так и должно быть
glm(VAB ~ Sex, family=binomial(link=logit), na.action=na.exclude, data=modifhello)
. Никогда не используйте$
внутри формулы модели. ПосколькуSex
, по-видимому, это символьная переменная, R должен автоматически рассматривать ее как категориальную и применять контрасты обработки. Если вы все еще видите две бета-версии, у вас есть третий уровень в этой переменной (что в наши дни не было бы необычным). Что вамtable(modifhello$Sex)
говорит?2. И в случае, если это не ясно: Вам не нужно выполнять ручное фиктивное кодирование. И вы на самом деле не используете
sexbin
в модели.3. Спасибо за ваш ответ. Я нашел решение: хотя я добавил свой новый двоичный столбец (sexbin), я все еще запускал модель, используя старый столбец (Sex). Я исправил это, переписав модель как: glm(modifhello $ VAB ~modifhello $ sexbin)
4. Вы не поняли ничего из того, чему я пытался вас научить, не так ли?