R - Fatores

Fatores são os objetos de dados usados ​​para categorizar os dados e armazená-los como níveis. Eles podem armazenar strings e inteiros. Eles são úteis nas colunas que possuem um número limitado de valores únicos. Como "Masculino," Feminino "e Verdadeiro, Falso etc. Eles são úteis na análise de dados para modelagem estatística.

Fatores são criados usando o factor () função tomando um vetor como entrada.

Exemplo

# Create a vector as input.
data <- c("East","West","East","North","North","East","West","West","West","East","North")

print(data)
print(is.factor(data))

# Apply the factor function.
factor_data <- factor(data)

print(factor_data)
print(is.factor(factor_data))

Quando executamos o código acima, ele produz o seguinte resultado -

[1] "East"  "West"  "East"  "North" "North" "East"  "West"  "West"  "West"  "East" "North"
[1] FALSE
[1] East  West  East  North North East  West  West  West  East  North
Levels: East North West
[1] TRUE

Fatores no quadro de dados

Ao criar qualquer quadro de dados com uma coluna de dados de texto, R trata a coluna de texto como dados categóricos e cria fatores sobre ela.

# Create the vectors for data frame.
height <- c(132,151,162,139,166,147,122)
weight <- c(48,49,66,53,67,52,40)
gender <- c("male","male","female","female","male","female","male")

# Create the data frame.
input_data <- data.frame(height,weight,gender)
print(input_data)

# Test if the gender column is a factor.
print(is.factor(input_data$gender))

# Print the gender column so see the levels.
print(input_data$gender)

Quando executamos o código acima, ele produz o seguinte resultado -

height weight gender
1    132     48   male
2    151     49   male
3    162     66 female
4    139     53 female
5    166     67   male
6    147     52 female
7    122     40   male
[1] TRUE
[1] male   male   female female male   female male  
Levels: female male

Mudando a ordem dos níveis

A ordem dos níveis em um fator pode ser alterada aplicando a função de fator novamente com a nova ordem dos níveis.

data <- c("East","West","East","North","North","East","West",
   "West","West","East","North")
# Create the factors
factor_data <- factor(data)
print(factor_data)

# Apply the factor function with required order of the level.
new_order_data <- factor(factor_data,levels = c("East","West","North"))
print(new_order_data)

Quando executamos o código acima, ele produz o seguinte resultado -

[1] East  West  East  North North East  West  West  West  East  North
Levels: East North West
 [1] East  West  East  North North East  West  West  West  East  North
Levels: East West North

Níveis de fator de geração

Podemos gerar níveis de fator usando o gl()função. Leva dois inteiros como entrada que indicam quantos níveis e quantas vezes cada nível.

Sintaxe

gl(n, k, labels)

A seguir está a descrição dos parâmetros usados ​​-

  • n é um número inteiro que fornece o número de níveis.

  • k é um número inteiro que fornece o número de replicações.

  • labels é um vetor de rótulos para os níveis de fator resultantes.

Exemplo

v <- gl(3, 4, labels = c("Tampa", "Seattle","Boston"))
print(v)

Quando executamos o código acima, ele produz o seguinte resultado -

Tampa   Tampa   Tampa   Tampa   Seattle Seattle Seattle Seattle Boston 
[10] Boston  Boston  Boston 
Levels: Tampa Seattle Boston