Um erro comum quando se usa comparativos é presumir que o interpretador
do R reconhece o contexto em que o objeto está sendo usado.
Embora possa parecer intuitivo digitar a expressão como
notas[<7]
, isso faria o R retornar um erro. Os
operadores de comparação precisam ter um termo antes e um depois do
comparador. É necessário indicar explicitamente o que se está
comparando.
A instrução notas[notas < 7]
pode ser lida da seguinte
forma:
- localiza o vetor notas na memória
-
[ localiza o índice do vetor notas
- identifica no índice os valores do
vetor notas < 7
- ] encerra a consulta e mostre o resultado.
Note que a instrução notas < 7
retorna o seguinte resultado:
FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE FALSE TRUE
Os operadores de comparação retornam valores lógicos, não os valores
contidos no vetor.
Os operadores de comparação são os seguintes no R :
- notas[notas == 7] igualdade 15 notas iguais a 7
- notas[notas != 7] diferença notas diferentes de
7
- notas[notas <= 7] menor ou igual notas
menores ou iguais a 7
- notas[notas >= 7] maior ou igual notas maiores ou iguais a 7
- notas[notas > 7] maior notas
maiores do que 7
- notas[notas < 7] menor notas menores
do que 7
Listas
Vimos que um vetor é um conjunto de valores escalares (escalares são
valores individuais). Uma nota seria um valor escalar. O conjunto de
notas de uma turma seria um vetor. Os vetores devem ser todos do mesmo
tipo, numérico (numeric
), lógico (logic
), caracteres de texto
(character), número complexo (complex) ou binário (raw
). Se um vetor for
construído mais de um tipo, por exemplo numérico e caractere, oR alocará o vetor com o tipo mais genérico, no caso, caractere.
O R foi desenvolvido como linguagem de análise de dados,
procurando explorar a força computacional dos vetores. No R o tipo básico é um vetor. Mesmo a variável nota <- 8.5
é um
vetor, só que com uma única linha de dado. Se for dada a instrução nota,
aparecerá no console do R o valor 8,5
, que é o primeiro (e
único) valor armazenado no vetor. Já o vetor notas possui dez valores
armazenados: 7.5 10.0 8.5 7.0 9.0 8.0 4.0 6.0 8.0 6.5
. Independentemente
da quantidade de
elementos16,
ambos são vetores e podem ser manipulados pelas mesmas funções.
Os vetores podem ser combinados em conjuntos maiores, para oferecer mais
versatilidade para manipulação das informações. Um agrupamento de
vetores no R é chamado de lista (list). Lista podem conter
qualquer tipo de vetores (numéricos, caracteres, lógicos, complexos,
binários), incluindo outras listas.
Quando a lista é criada na memória do computador, cada elemento recebe
um número de ordem, como em uma lista numerada: