Introdução aos Fatores em R

Em R, podemos processar diferentes tipos de variáveis. Também podemos assumir fator como um tipo de variável que requer apenas um número limitado de valor atribuído; essa variável também conhecida como variável categórica.

Vantagens de um fator

  • Pode armazenar números inteiros e seqüências de caracteres

1. No caso de números inteiros

data = c(5, 6, 6, 6, 7, 5, 7, 6, 7, 5, 6, 7)
factor_data = factor(data)
factor_data

Resultado

2. No caso de cordas

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"))
y

Resultado

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Resultado

  • Muito útil quando as colunas têm um número limitado de valores exclusivos
NomeModo de viagem
JohnCaminhão
ShawCarro
LeeCiclo
MusanBicicleta
LozyCaminhão
RiyaCarro
MijCiclo

Aqui, temos um número limitado de valores exclusivos na coluna 2.

  • Ajuda a corrigir as seqüências com erros de digitação (erros de digitação).

Como criar um fator em R?

Podemos criar fatores usando fatores de código ().

Explore mais sobre o fator ().

factor(x = character(), levels, labels = levels, ordered = is.ordered(x))

Onde,

X é um conjunto de dados categóricos. Como já discutimos, deve ser uma sequência ou números inteiros.

Níveis são um conjunto de valores que podem ser obtidos por X. Níveis contém todo o valor exclusivo disponível na coluna (x).

Os rótulos como o nome sugerem a rotulagem dos dados disponíveis no X.

Ordenado determina se os níveis devem ser ordenados em qualquer ordem específica.

Exemplo 1

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike"))
y

Resultado:

Exemplo 2

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Resultado:

No exemplo 2, podemos ver que também podemos definir "Níveis".

Agora vamos ver mais sobre os fatores usando Str (y).

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Resultado:

str(y)

Resultado:

É claramente visto que os fatores são armazenados como vetores inteiros e os níveis são armazenados como um vetor de caracteres, e os elementos individuais são realmente armazenados como índices.

  • Agora veremos como acessar os componentes de um fator

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Resultado:

y(2) # helps to access 2nd element

Resultado:

x(c(3, 4)) # helps to access 3rd and 4th element

Resultado

x(-1) # access all except 1st element

Resultado:

  • Agora veremos como modificar um fator.

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Resultado:

y(3) = "Truck" #modifty third element
y

Resultado

Adicionando a um fator:

y(10) = "Car"
y

Resultado:

Observe que não podemos atribuir nada em um fator que não faz parte dos níveis.

y(4) = "Plane"Warning message:In `(<-.factor`(`*tmp*`, 4, value = "Plane") : invalid factor level, NA generated

Resultado:

Neste exemplo, podemos ver que “Avião” não faz parte do nosso nível; portanto, recebemos uma mensagem de aviso que diz “Avião” é um nível de fator inválido.

Converter dados em um fator

Os dados estão disponíveis em abundância, e é difícil sempre escrever uma palavra completa no código; portanto, para isso, converteremos os dados em um fator primeiro e depois converteremos o fator em um caractere ou número conforme nossa conveniência.

Vamos agora trabalhar em alguns dados reais. Onde temos 50 observações e os candidatos fornecem sua direção de trabalho. Assim como John, viaja para o norte em suas tarefas de trabalho ou Sam viaja em direção ao sul para suas funções de trabalho.

direction <- c("West", "East", "North", "West", "South", "East", "South", "East", "South", "East", "South", "West", "South", "East", "South", "East", "South", "South", "West", "East", "South", "West", "South", "East", "South", "East", "South", "West", "East", "South", "West", "South", "East", "South", "East", "South", "South", "West", "South", "West", "East", "South", "West", "South", "East", "South", "East", "South", "South", "West")
direction.factor = factor(direction)
direction.factor

Resultado:

Níveis: Leste Norte Sudoeste

Agora, se quisermos converter o fator em um vetor de caracteres:

Usaremos o código as.character ().

as.character(direction.factor)

Resultado:

Ou queremos converter o fator em um vetor numérico:

Usaremos o código as.numeric ().

as.numeric(direction.factor)

Resultado:

Artigos recomendados

Este é um guia para Fatores em R. Aqui discutimos a introdução, Vantagens de um fator, Como criar um fator em R junto com as Saídas. Você também pode consultar nossos outros artigos sugeridos para saber mais:

  1. Dataframe do SQL Spark
  2. Tipos de dados R
  3. Banco de Dados Multidimensional
  4. Pipeline de dados da AWS

Categoria: