Использование библиотеки ISLR и набора данных.
library(tidyverse)
library(ISLR)
data("Default")
Замена «Нет» на 0 и «Да» на 1 для переменных по умолчанию и студента
DF1 <- Default %>%
select(default, student) %>%
mutate(default = factor(default, labels = c("No" = 1, "Yes" = 10)),
student = factor(student, labels = c("No" = 1, "Yes" = 10)))
преобразование переменных в numeri c
DF2 <- DF1 %>%
mutate(default = as.integer(default),
student = as.numeric(student))
Результат показан ниже.
> head(DF2)
default student
1 1 1
2 1 2
3 1 1
4 1 1
5 1 1
6 1 2
При преобразовании в numeri c введите эти 0, 1 значения в коде 1,2 et c.
Я получил ТАК ответ здесь. Как преобразовать множитель в целое число \ numeri c без потери информации?
DF2 <- DF1 %>%
mutate(default = as.integer(levels(default))[default],
student = as.numeric(levels(student))[student])
> head(DF2)
default student
1 0 0
2 0 1
3 0 0
4 0 0
5 0 0
6 0 1
Не могли бы вы немного пояснить утверждение
as.numeric(levels(student))[student])
Почему приведенная ниже инструкция не дает желаемого результата?
as.numeric(as.factor(student))
Спасибо.