Fatores R


Fatores

Fatores são usados ​​para categorizar dados. Exemplos de fatores são:

  • Demografia: Masculino/Feminino
  • Música: Rock, Pop, Clássico, Jazz
  • Treinamento: Força, Resistência

Para criar um fator, use a factor()função e adicione um vetor como argumento:

Exemplo

# Create a factor
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

# Print the factor
music_genre

Resultado:

[1] Jazz    Rock    Classic Classic Pop     Jazz    Rock    Jazz
Levels: Classic Jazz Pop Rock

Você pode ver pelo exemplo acima que o fator tem quatro níveis (categorias): Clássico, Jazz, Pop e Rock.

Para imprimir apenas os níveis, use a levels()função:

Exemplo

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

levels(music_genre)

Resultado:

[1] "Classic" "Jazz"    "Pop"     "Rock"   

Você também pode definir os níveis, adicionando o levelsargumento dentro da factor()função:

Exemplo

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"), levels = c("Classic", "Jazz", "Pop", "Rock", "Other"))

levels(music_genre)

Resultado:

[1] "Classic" "Jazz"    "Pop"     "Rock"    "Other"

Comprimento do fator

Use a length()função para descobrir quantos itens existem no fator:

Exemplo

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

length(music_genre)

Resultado:

[1] 8


Fatores de acesso

Para acessar os itens em um fator, consulte o número do índice, usando []colchetes:

Exemplo

Acesse o terceiro item:

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

music_genre[3]

Resultado:

[1] Classic
Levels: Classic Jazz Pop Rock

Alterar valor do item

Para alterar o valor de um item específico, consulte o número do índice:

Exemplo

Altere o valor do terceiro item:

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

music_genre[3] <- "Pop"

music_genre[3]

Resultado:

[1] Pop
Levels: Classic Jazz Pop Rock

Observe que você não pode alterar o valor de um item específico se ainda não estiver especificado no fator. O exemplo a seguir produzirá um erro:

Exemplo

Tentando alterar o valor do terceiro item ("Clássico") para um item que não existe/não predefinido ("Opera"):

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

music_genre[3] <- "Opera"

music_genre[3]

Resultado:

Warning message:
In `[<-.factor`(`*tmp*`, 3, value = "Opera") :
  invalid factor level, NA generated

No entanto, se você já o especificou dentro do levelsargumento, funcionará:

Exemplo

Altere o valor do terceiro item:

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"), levels = c("Classic", "Jazz", "Pop", "Rock", "Opera"))

music_genre[3] <- "Opera"

music_genre[3]

Resultado:

[1] Opera
Levels: Classic Jazz Pop Rock Opera