English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Данные в R

Факторы используются для хранения данных различных типов категорий, например, пол человека может быть мужчиной и женщиной, а возраст может быть разделен на несовершеннолетних и взрослых.

Язык программирования R создает факторы с помощью функции factor(), где вектор используется в качестве входного параметра.

функция factor() синтаксис:

фактор(x = character(), levels, labels = levels,
       exclude = NA, ordered = is.ordered(x), nmax = NA)

gl(n, k, length = n*k, labels = seq_len(n), ordered = FALSE)

  • x: вектор.

  • levels: заданные уровни, по умолчанию определяются уникальными значениями x.

  • labels:标签 уровней, по умолчанию используются строковые значения уровней.

  • exclude: исключаемые символы.

  • ordered: логическое значение, используемое для указания того, являются ли уровни упорядоченными.

  • nmax: верхний предел количества уровней.

Ниже приведен пример преобразования векторного типа строк в фактор:

x <- c("Мужчина", "Женщина", "Мужчина", "Мужчина", "Женщина")
пол <- фактор(x)
sex=factor(c('f','m','f','f','m'), levels=c('f','m'), labels=c('female','male'), ordered=TRUE)
печать(является.фактором(пол))

print(v)

[1] Мужчина Женщина Мужчина Мужчина Женщина
Levels: 男 女
Уровни: Мужчина Женщина

Ниже приведен пример установки уровней фактора как c('Мужчина', 'Женщина'):

x <- c("Мужчина", "Женщина", "Мужчина", "Мужчина", "Женщина", уровни = c('Мужчина', 'Женщина'))
пол <- фактор(x)
sex=factor(c('f','m','f','f','m'), levels=c('f','m'), labels=c('female','male'), ordered=TRUE)
печать(является.фактором(пол))

print(v)

уровни1 уровни2 
Мужчина          Женщина          Мужчина          Мужчина          Женщина          Мужчина          Женщина 
Levels: 男 女
Уровни: Мужчина Женщина

[1] TRUE

Метки уровней фактора

Далее мы используем параметр labels для добавления меток к каждому уровню фактора, порядок символов в параметре labels должен соответствовать порядку символов в параметре levels, например:
sex=factor(c('f','m','f','f','m'), levels=c('f','m'), labels=c('female','male'), ordered=TRUE)

print(v)

print(sex)  
[1] female male female female male

Уровни: female < male

Генерация уровней фактора

Мы можем использовать функцию gl() для генерации уровней фактора, синтаксис которой следующий:

gl(n, k, length = n*k, labels = seq_len(n), ordered = FALSE)

  • Объяснение параметров:n

  • : Установить количество уровнейk

  • : Установить количество повторений каждого уровняlength

  • : Установить длинуlabels

  • : Установить значение уровняordered

Пример
v <- gl(3, 4, labels = c("Google", "w3codebox", "Taobao"))

print(v)

 Результат выполнения вышеуказанного кода:
[1] Google Google Google Google w3codebox w3codebox w3codebox w3codebox Taobao Taobao
[11] Taobao Taobao