Fatores

Linguagem R

R Factor The quick brown fox - Ocorrência dos caracteres na frase
R Factor The quick brown fox - Ocorrência dos caracteres na frase

Os fatores são estruturas de dados utilizadas em situações onde os valores possíveis são finitos e pré-definidos, como no alfabeto.

Aqui analisamos a clássica frase “the quick brown fox jumps over the lazy dog”, que é um pangrama (uma frase com sentido em que são usadas todas as letras do alfabeto de uma determinada língua), comumente utilizada em testes de teclado e de transmissão de dados.

> # Vetor com todas as letras da frase
> qbf <- c(strsplit("the quick brown fox jumps over the lazy dog",NULL)[[1]])
> qbf
 [1] "t" "h" "e" " " "q" "u" "i" "c" "k" " " "b" "r" "o" "w" "n" " " "f" "o" "x"
[20] " " "j" "u" "m" "p" "s" " " "o" "v" "e" "r" " " "t" "h" "e" " " "l" "a" "z"
[39] "y" " " "d" "o" "g"
> class(qbf)
[1] "character"
> # Como pode ser visto esta frase contém todas as letras do alfabeto de 'a' a 'z'
> factor(qbf)
 [1] t h e   q u i c k   b r o w n   f o x   j u m p s   o v e r   t h e   l a z
[39] y   d o g
Levels:   a b c d e f g h i j k l m n o p q r s t u v w x y z
> class(factor(qbf))
[1] "factor"
> # e repetidos uma ou poucas vezes, exceto o caractere espaço que aparece 8 vezes.
> table(factor(qbf))

  a b c d e f g h i j k l m n o p q r s t u v w x y z 
8 1 1 1 1 3 1 1 2 1 1 1 1 1 1 4 1 1 2 1 2 2 1 1 1 1 1 
> # Gráfico mostrado no topo da página
> barplot(table(factor(qbf)), main = "the quick brown fox jumps over the lazy dog")

Um exemplo de pangrama na língua portuguesa pode ser “um pequeno jabuti xereta viu dez cegonhas felizes”, mas note que não aparecem as letras ‘k’, ‘w’ e ‘y’:

> # Vetor com todas as letras da frase
> jabuti <- c(strsplit("um pequeno jabuti xereta viu dez cegonhas felizes",NULL)[[1]])
> jabuti
 [1] "u" "m" " " "p" "e" "q" "u" "e" "n" "o" " " "j" "a" "b" "u" "t" "i" " " "x"
[20] "e" "r" "e" "t" "a" " " "v" "i" "u" " " "d" "e" "z" " " "c" "e" "g" "o" "n"
[39] "h" "a" "s" " " "f" "e" "l" "i" "z" "e" "s"
> class(jabuti)
[1] "character"
> # Como pode ser visto esta frase contém todas as letras do alfabeto de 'a' a 'z',
> # exceto 'k', 'w' e 'y'
> factor(jabuti)
 [1] u m   p e q u e n o   j a b u t i   x e r e t a   v i u   d e z   c e g o n
[39] h a s   f e l i z e s
Levels:   a b c d e f g h i j l m n o p q r s t u v x z
> class(factor(jabuti))
[1] "factor"
> # sendo a letra 'e' e espaço os que aparecem mais vezes.
> table(factor(jabuti))

  a b c d e f g h i j l m n o p q r s t u v x z 
7 3 1 1 1 8 1 1 1 3 1 1 1 2 2 1 1 1 2 2 4 1 1 2 
Leia mais