Функция factor() в R - Создание факторов
Функция factor() в R используется для создания факторов (категориальных переменных).
Факторы — это основная концепция в R для работы с категориальными данными, автоматически создающая фиктивные переменные при статистическом моделировании.
Синтаксис функции factor() выглядит следующим образом:
factor(x, levels, labels = levels, ordered = FALSE)
Описание параметра:
xВектор, который нужно преобразовать в фактор.
levelsУровни фактора (необязательно, по умолчанию в алфавитном порядке).
labelsМетки для уровней.
orderedЯвляется ли фактор упорядоченным.
Пример
# Создать базовый фактор
gender <- factor(c("Мужской", "Женский", "Мужской", "Женский", "Мужской"))
print("Фактор пола:")
print(gender)
print("Уровни:")
print(levels(gender))
# Создать упорядоченный фактор (уровень образования)
edu <- factor(c("Бакалавр", "Магистр", "Бакалавр", "Доктор философии", "Бакалавр"),
levels = c("Бакалавр", "Магистр", "Доктор философии"),
ordered = TRUE)
print("Фактор образования:")
print(edu)
print(paste("Бакалавр < Магистр?", edu[1] < edu[2]))
# Применение факторов в статистике
scores <- c(88, 92, 76, 85, 90)
avg_by_gender <- tapply(scores, gender, mean)
print("Средний балл по полу:")
print(avg_by_gender)
gender <- factor(c("Мужской", "Женский", "Мужской", "Женский", "Мужской"))
print("Фактор пола:")
print(gender)
print("Уровни:")
print(levels(gender))
# Создать упорядоченный фактор (уровень образования)
edu <- factor(c("Бакалавр", "Магистр", "Бакалавр", "Доктор философии", "Бакалавр"),
levels = c("Бакалавр", "Магистр", "Доктор философии"),
ordered = TRUE)
print("Фактор образования:")
print(edu)
print(paste("Бакалавр < Магистр?", edu[1] < edu[2]))
# Применение факторов в статистике
scores <- c(88, 92, 76, 85, 90)
avg_by_gender <- tapply(scores, gender, mean)
print("Средний балл по полу:")
print(avg_by_gender)
Выполнение приведенного выше кода дает следующий вывод:
[1] "性别因子:" [1] 男 女 男 女 男 Levels: 男 女 [1] "水平:" [1] "男" "女" [1] "学历因子:" [1] 本科 硕士 本科 博士 本科 Levels: 本科 < 硕士 < 博士 [1] "本科 < 硕士? TRUE" [1] "按性别平均分:" 男 女 88.0 88.5Другие расширения
Примеры на языке R