r программа, изменяющая переменную да/нет на 1/0 - переменная «медаль» не является фактором

Я новичок в R. У меня есть категориальная переменная, с которой мне нравится создавать линейную модель и делать с ней прогнозы, но RStudio не позволяет мне делать это, пока я не изменю тип переменной. Как изменить да/нет на 1/0? моя ошибка: «переменная« медаль »не является фактором», я пробовал:

> sport$medal <- factor(sport$medal)
> is.factor(sport$medal)
[1] FALSE

person Zapata    schedule 14.08.2016    source источник


Ответы (2)


Кроме очевидной опечатки...

Как изменить да/нет на 0/1?

Тебе нужно

sport$medal <- factor(sport$medal, levels = c("yes", "no"))

Поведение по умолчанию даст вам 0 для «нет» и 1 для «да», так как «n» стоит перед «y» в алфавитном порядке.

person Zheyuan Li    schedule 14.08.2016
comment
Теперь › is.factor(sport$medal) [1] TRUE - person Zapata; 14.08.2016

Если вы хотите заменить да/нет на 1/0, используйте ifelse()

sport$medal <- ifelse(sport$medal == "yes", 1, 0)
person joel.wilson    schedule 14.08.2016
comment
Или просто as.integer(sport$medal == "yes") - person Rich Scriven; 14.08.2016