Como obter valores de vetores em R

Vetores seria muito pouco prático se você não poderia olhar para cima e manipular valores individuais. Você pode executar essas tarefas facilmente usando sistema de indexação de R avançado, poderoso.

Como R faz a indexação

Toda vez que R mostra um vetor, ele exibe um número, como [1] na frente da saída. Neste exemplo, [1] diz-lhe onde a primeira posição em seu vetor é.

Este número é o chamado índice desse valor. Se você fizer um vector mais tempo - por exemplo, com os números de 1 a 30 - você vê mais índices. Veja este exemplo:

> números lt; 30: 1 -> números [1] 29 28 27 30 26 25 24 23 22 21 20 19 18 17 16 15 14 [18] 12 11 10 13 9 8 7 6 5 4 3 2 1

Aqui, você vê que R conta 13 como o valor 18 no vector. No início de cada linha, R indica o índice do primeiro valor em que a linha.

Se você tentar este exemplo no seu computador, você pode ver um índice diferente no início da linha, dependendo da largura do seu console.

Como extrair valores a partir de um vetor em R

Esses suportes ([]) Ilustram outro ponto forte da R. Eles representam uma função que você pode usar para extrair um valor a partir desse vetor. Você pode obter o quinto valor do vector número anterior como este:

> números [5] [1] 26

Ok, este exemplo não é muito impressionante, mas a função de suporte leva vetores como argumentos. Se você quiser selecionar mais de um número, você pode simplesmente fornecer um vetor de índices como um argumento dentro dos colchetes, assim:

> Números [c (5,11,3)] [1] 26 20 28

R retorna um vetor com os números na ordem que você pediu. Assim, você pode usar os índices para ordenar os valores da maneira que quiser.

Você também pode armazenar os índices que deseja recuperar em outro vector e dar esse vector como um argumento, como no exemplo a seguir:

> índices lt; - c (5,11,3)> números [índices] [1] 26 20 28

Você pode usar índices para soltar valores a partir de um vector também. Se você quiser todos os números exceto para o terceiro valor, você pode fazer isso com o seguinte código:

> números [-3] [1] 29 27 26 30 25 24 23 22 21 20 19 18 17 16 15 14 13 [18] 11 10 9 12 8 7 6 5 4 3 2 1

Aqui, também, você pode usar um vector completa de índices. Se você quer expulsar os primeiros 20 números, use este código:

> números [- (01:20)] [1] 10 9 8 7 6 5 4 3 2 1

Tenha cuidado para adicionar parênteses ao redor da sequência. Se não o fizer, R irá interpretar isso como significando que a sequência de -1 a 20, o que não é o que você quer aqui. Se você tentar esse código, você recebe a seguinte mensagem de erro:

> números [-1: 20] Erro em números [-1: 20]: somente 0 de pode ser misturado com índices negativos

Esta mensagem faz você se perguntar o que o índice 0 é. Bem, é literalmente nada. Se ele é o único valor no vetor de índice, você recebe um vector vazio, ou de comprimento zero, de volta, qualquer que seja sinal de que você dá ele- caso contrário, ele não terá qualquer efeito.

Você não pode misturar os valores de índice positivo e negativo, por isso ou selecionar um número de valores ou soltá-los.

Você pode fazer muito mais com os índices - eles ajudá-lo a escrever código conciso e rápido.

menu