Como nomear os valores em seus vetores em R

Muitas vezes, os elementos de vectores são referidos pelas suas posições - ou seja, x [5]

refere-se ao quinto elemento no vetor x. Uma característica muito poderosa em R, no entanto, dá nomes aos elementos de um vetor, que permite que você para se referir aos elementos pelo nome.

Você pode usar esses vetores citados na R associar valores de texto (nomes) com qualquer outro tipo de valor. Então você pode se referir a esses valores pelo nome, além de posição na lista. Este formato tem uma ampla gama de aplicações - por exemplo, vetores nomeados tornar mais fácil para criar tabelas de pesquisa.

Como vectores R nomeado trabalhar

Para ilustrar vetores nomeados, dê uma olhada no conjunto de dados built-in ilhas, um vetor nomeado que contém a área de superfície de 48 maiores massas do mundo da terra (continentes e grandes ilhas). Você pode investigar sua estrutura com str (), do seguinte modo:

> Str (ilhas) num Nomeado [01:48] 11506 5500 16988 2968 16 ...- attr (*, "nomes") = chr [01:48] "África" ​​"Antarctica" "Asia" "Australia" .. .

R relata a estrutura de ilhas como um vector chamado com 48 elementos. Na primeira linha dos resultados str (), você vê os valores dos primeiros elementos de ilhas. Na segunda linha, R relata que o vector nomeado tem um atributo que contenha nomes e relata que os primeiros elementos são "África", "Antártica", "Ásia", e "Austrália".

Uma vez que cada elemento no vector tem um valor, bem como um nome, agora é possível subdividir o vector por nome. Para recuperar os tamanhos da Ásia, África e Antarctica, use o seguinte:

> Ilhas [c ( "Asia", "África", "Antarctica")], Ásia, África Antarctica16988 115065500

Você usa o nomes () funcionar para recuperar os nomes em um vetor chamado:

> Nomes (ilhas) [1: 9] [1] "África" ​​"Antarctica" "Asia" [4] "Australia" "Axel Heiberg" "Baffin" [7] "Banks" "Borneo" "Britain"

Esta função permite que você faça todos os tipos de coisas interessantes. Imagine que você queria saber os nomes dos seis maiores ilhas. Para fazer isso, você iria recuperar os nomes dos ilhas depois classificando-o em ordem decrescente:

> Nomes (SORT (ilhas, diminuindo = true) [1: 6]) [1] "Asia" "África" ​​"América do Norte" [4] "América do Sul" "Antarctica" "Europa

Criar e atribuir vetores nomeadas em R

Você usa o operador de atribuição (lt; -) Para atribuir nomes aos vetores da mesma maneira que você atribuir valores aos vetores de caracteres.

Imagine que você queira criar um vector nomeada com o número de dias em cada mês. Em primeiro lugar, criar um vector contendo numérico do número de dias em cada mês. Em seguida, use o conjunto de dados built-in month.name para os nomes dos meses, como segue:

> month.days lt; - c (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)> nomes (month.days) lt; - month.name> month.daysJanuary Fevereiro Março Junho Julho April31283130May August31303131September Outubro Novembro December30313031

Agora você pode usar este vetor para encontrar os nomes dos meses com 31 dias:

> Nomes (month.days [month.days == 31]) [1] "Janeiro" "March" "May" [4] "Julho" "August" "October" [7] "December"

Esta técnica funciona porque você subconjunto month.days para retornar somente os valores para os quais month.days é igual a 31, e então você recuperar os nomes do vetor resultante.

O sinal de igual duplo (==) Indica um teste de igualdade. Certifique-se de não usar o sinal de igual simples (=) Para o teste de igualdade. Não somente um único sinal de igual não funciona, mas pode ter efeitos secundários estranho, porque R interpreta um único sinal de igualdade como uma atribuição. Em outras palavras, o operador = em muitos casos, é o mesmo que lt; -.

menu