Programação em R - Parte 5 (Matrizes)



Programação em R - Aprenda Analtics, Big Data & Ciência de Dados

Confira todos os textos da série Programação em R:


Uma matriz pode ser considerada uma coleção de dados do mesmo tipo, por exemplo numérico. R permite criar e manipular matrizes de maneira simples.


Um vetor de dimensão é um vetor de números inteiros não negativos. Se o seu comprimento for k, a matriz é dita k-dimensional. Em geral as matrizes são bidimensionais. Mas as dimensões são indexadas de um até os valores dados no vetor de dimensão, ou seja, você pode criar uma matriz com quantas dimensões desejar.

Por exemplo, se o vetor de dimensão para uma matriz, digamos A, é C (3,4,2), então há 3 * 4 * 2 = 24 elementos na matriz A, e os dados podem ser acessados na ordem [1,1,1], [2,1,1], ..., até [2,4,2],[3,4,2].

Outras funções como matrix() e array() estão disponíveis para criação de matrizes e vetores (que são matrizes unidimensionais :).

Construindo matrizes com cbind() e rbind()


As matrizes podem ser construídas a partir de outros vetores e matrizes pelas funções cbind() e rbind(). Podemos dizer que a função cbind() forma matrizes, unindo matrizes juntadas verticalmente, ou em colunas, enquanto a rbind() faz o mesmo, porém horizontalmente, ou em linhas.

Os argumentos para cbind() devem ser vetores de qualquer comprimento ou matrizes com o mesmo tamanho de coluna, que é o mesmo número de linhas. O resultado é uma matriz com os argumentos concatenados arg_1, arg_2, ... formando as colunas.

Se alguns dos argumentos para cbind() são vetores, eles podem ser menores do que o tamanho da coluna de qualquer matriz presente, caso em que elas são ciclicamente estendidas para coincidir com o tamanho da coluna da matriz (ou o comprimento do vetor mais longo se nenhuma matriz for dada ).

Assim, suponha a matriz m abaixo:

1 2
3 4
5 6

Suponha agora um vetor v com os elementos (1,2).

O resultado da operação cbind(m,v) é a matriz abaixo:

1 2 1
3 4 2
5 6 1

Percebeu como os elementos do vetor foram "distribuídos ao longo da matriz"?

Isso é R, meus amigos :)

A função rbind() faz a operação correspondente para linhas. Neste caso, qualquer argumento de vetor, possivelmente ciclicamente estendido, é, naturalmente, tomado como vetores de linha.

A função de concatenação c()


Enquanto cbind() e rbind() são funções de concatenação que respeitam os atributos dim, a função c() básica limpa objetos numéricos de todos os atributos dim e dimnames, o que é ocasionalmente útil.

Mas o que isso significa na prática?

Simples: é uma maneira de transformar uma matriz de volta a um objeto vetorial (equivalente a usar as.vector()).

Existem pequenas diferenças entre os dois, mas, em última análise, a escolha entre eles é em grande parte uma questão de estilo (sendo o primeiro preferível).

Conclusão

Matrizes são estruturas bastante úteis em determinadas situações, especialmente quando lidamos com dados homogêneos que precisam ser analisados de várias maneiras, e a linguagem R oferece diversas funções para facilitar a observação das características relevantes das matrizes.

Tem alguma dúvida sobre matrizes? Deixe aqui seu comentário!

Christian Guerreiro

Professor por vocação, blogueiro e servidor público por opção, amante da tecnologia e viciado em informação.


Ensino a distância em Bitcoin & Criptomoedas, além de Tecnologia da Informação: Virtualização com VMware, Big Data com Hadoop, Certificação ITIL 2011 Foundations e muito mais.


Suporte o Tecnologia que Interessa!

Você acha que as informações compartilhadas aqui são úteis?
Então me ajude a produzir ainda mais e melhores conteúdos!


É muito fácil. Basta divulgar nossos treinamentos pra alguém que conheça!


E se for de Salvador, podemos estruturar um curso presencial para sua empresa!

Eu vou ficar muito grato (e quem fizer os curso também :)!