Programação em R – Parte 6 (Listas e Data Frames)

//Programação em R – Parte 6 (Listas e Data Frames)

Programação em R – Parte 6 (Listas e Data Frames)

Uma
lista R é um objeto constituído por uma coleção ordenada de
objetos conhecidos como seus componentes.
Não
há necessidade particular de os componentes serem do mesmo modo ou
tipo e, por exemplo, uma lista pode consistir em um vetor numérico,
um valor lógico, uma matriz, um vetor complexo, uma matriz de
caracteres, uma função e em breve. Aqui está um exemplo simples de
como fazer uma lista:
> Lst

Os
componentes são sempre numerados e sempre podem ser referidos como
tais. Assim, se Lst é o nome de uma lista com quatro componentes,
estes podem ser designados individualmente como Lst [[1]], Lst [[2]],
Lst [[3]] e Lst [[4]]. Se, além disso, Lst [[4]] é uma matriz
subdividida em vetor, então Lst [[4]] [1] é a primeira entrada.
Os
componentes das listas também podem ser nomeados e, neste caso, o
componente pode ser referido, seja dando o nome do componente como
uma seqüência de caracteres no lugar do número em colchetes
duplos, ou, mais convenientemente, dando uma expressão no formato
> nome$nome_componente
Esta
é uma convenção muito útil, pois torna mais fácil obter o
componente certo se você esquecer o número.
Então
no exemplo simples dado acima:
Lst$nome é o mesmo que Lst[[1]] e é a string “Fred”,
Lst$esposa é o mesmo que Lst[[2]] e é a string “Mary”,
Lst$idade.crianças[1] é o mesmo que Lst[[4]] [1] e é o número 4.
Além
disso, também se pode usar os nomes dos componentes da lista em
colchetes duplos, ou seja, Lst[[“nome”]] é o mesmo que
Lst$nome. Isto é especialmente útil, quando o nome do componente
a ser extraído é armazenado em outra variável como em
> x

É
muito importante distinguir Lst[[1]] de Lst[1]. ‘[[…]]’ como
operador usado para selecionar um único elemento, enquanto ‘[…]’ é
um operador de inscrição geral. Assim, o primeiro é o primeiro
objeto na lista Lst, e se é uma lista nomeada, o nome não está
incluído. O último é uma sublista da lista Lst consistindo apenas
na primeira entrada. Se for uma lista nomeada, os nomes são
transferidos para a sublistar.
O
vetor de nomes é de fato simplesmente um atributo da lista como
qualquer outro e pode ser tratado como tal. Outras estruturas além
das listas podem, naturalmente, ser atribuídas também a um atributo
de nomes.

Construindo e modificando listas

Novas
listas podem ser formadas a partir de objetos existentes pela função list(). Uma atribuição
> Lst

configura
uma lista Lst de m componentes usando object_1, …, object_m para os
componentes e dando-lhes nomes conforme especificado pelos nomes dos
argumentos (que podem ser escolhidos livremente). Se esses nomes
forem omitidos, os componentes são apenas numerados. Os componentes
usados ​​para formar a lista são copiados ao formar a nova lista
e os originais não são afetados.
As
listas, como qualquer objeto inscrito, podem ser estendidas
especificando componentes adicionais. Por exemplo
> Lst [5]

Concatenando Listas

Quando
a função de concatenação c() recebe argumentos de lista, o
resultado é também um objeto lista, cujos componentes
são aqueles das listas de argumentos unidos em sequência.
>
list.ABC

Lembre-se
de que, com objetos vetoriais como argumentos, a função de
concatenação uniu de forma semelhante todos os argumentos em uma
única estrutura vetorial. Nesse caso, todos os outros atributos são descartados.

Data Frames

Um “quadro de dados” é uma lista com a classe “data.frame”.
Existem restrições nas listas que podem ser feitas em quadros de
dados, ou seja,
  • Os componentes devem ser vetores (numéricos, caracteres ou
    lógicos), fatores, matrizes numéricas, listas ou outros quadros de
    dados.
  • Matrizes, listas e quadros de dados fornecem tantas variáveis para
    o novo quadro de dados como eles têm colunas, elementos ou
    variáveis, respectivamente.
  • Os vetores numéricos, os lógicos e os fatores são incluídos como
    são, e, por padrão, 18 vetores de caracteres são coagidos como
    fatores, cujos níveis são os valores exclusivos que aparecem no
    vetor.
  • As estruturas de vetores que aparecem como variáveis da estrutura
    de dados devem ter o mesmo comprimento, e as estruturas da matriz
    devem ter o mesmo tamanho da linha.
Um
Data Frame pode, para muitos fins, ser considerado como uma
matriz com colunas possivelmente de diferentes modos e atributos.
Pode ser exibido em matriz e suas linhas e colunas extraídas usando
convenções de indexação de matrizes.

Criando Data Frames

Objetos
que satisfaçam as restrições colocadas nas colunas (componentes)
de um quadro de dados podem ser usados ​​para formar um usando a
função data.frame:
>
contadores

Uma
lista cujos componentes estão em conformidade com as restrições de
um quadro de dados pode ser convertida em um quadro de dados usando a
função as.data.frame ()
A
maneira mais simples de construir um quadro de dados a partir do zero
é usar a função read.table () para ler um quadro de dados inteiro
de um arquivo externo.

Trabalhando com Data Frames

Uma
convenção útil que permite que você trabalhe com muitos problemas
diferentes confortavelmente no mesmo diretório de trabalho é
  • reunir todas as variáveis ​​para qualquer problema bem definido
    e separado em um quadro de dados sob um nome adequadamente
    informativo;
  • Ao trabalhar com um problema, coloque o quadro de dados apropriado
    na posição 2 e use o diretório de trabalho no nível 1 para
    quantidades operacionais e variáveis ​​temporárias;
  • antes de deixar um problema, adicione as variáveis ​​que deseja
    manter para futuras referências ao quadro de dados usando a forma $
    de atribuição, e então desanexar ();
  • Por fim, remova todas as variáveis ​​indesejadas do diretório
    de trabalho e mantenha-o tão limpo quanto possível nas variáveis
    ​​temporárias de esquerda.
Desta
forma, é bem simples trabalhar com muitos problemas no mesmo
diretório, todos com variáveis ​​denominadas x, y e z, por
exemplo.

Conclusão


Data Frames são talvez o tipo de dado mais útil da linguagem R, e por isso mesmo vale muito a pena entender todas as facilidades que este tipo de objeto oferece.
Neste texto apresentamos apenas uma rápida noção de algumas das possibilidades ao trabalhar com Data Frames, que sequer arranham a variedade de possíveis usos deste objeto.
Por isso recomendo fortemente que se aprofunde no entendimento dos Data Frames, incluindo importar dados em Data Frames, exportar dados, Slicing de dados com Data Frames e muito mais.

Ficou com alguma dúvida?
Tem interesse em treinamentos em R?
By |2018-08-29T10:16:40+00:00julho 27th, 2018|Sem categoria|0 Comments

About the Author:

Leave A Comment