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
Nome | Modo de viagem |
John | Caminhão |
Shaw | Carro |
Lee | Ciclo |
Musan | Bicicleta |
Lozy | Caminhão |
Riya | Carro |
Mij | Ciclo |
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:
- Dataframe do SQL Spark
- Tipos de dados R
- Banco de Dados Multidimensional
- Pipeline de dados da AWS