quinta-feira, maio 29, 2014

Linguagem R - Objetos e Tipos de Dados

No R temos, segundo o próprio site do R-Project (http://cran.r-project.org/doc/manuals/r-release/R-lang.html#Basic-types), os objetos são divididos em tipos, modos e modos de armazenamento. Isto significa, por exemplo, que um objeto do tipo (type) inteiro é armazenado (storage mode) como tal, mas é tratado simplesmente como numérico (mode). Há diversos tipos de objetos como inteiro, lógico, função, expressão linguagem, listas, complexos etc. É bem completo! Porém no uso do R com conjunto de dados e análise estatística, utiliza-se os tipos básicos para trabalho com vetores. Depois veremos funções para nos auxiliar com "tipos" e "objetos".

Objetos primitivos - tipos atômicos

Pode-se dizer que o R foi feito para trabalhar com estruturas de dados, que são compostas, de forma geral, por objetos primitivos. Por exemplo, o vetor é o objeto mais simples no R: uma lista ordenada de um tipo atômico básico.
O R possui 6 tipos atômicos:

  • lógico,
  • inteiro,
  • real,
  • complex,
  • string (or character), e
  • raw (bruto/primitivo).

Estruturas de Dados

Esse é o foco dessa linguagem: o agrupamento de objetos para análise dos dados.
Temos:

  • vetor
  • fator
  • matriz
  • array
  • lista
  • dataframe

Como já dito, o mais simples tipo de estrutura de dados é o vetor (vector) que é uma lista ordenada de um objeto primitivo. Parecido com o vetor, temos o fator (factor) que é um vetor de categorias, valores que não se repetem. Matriz (matrix) é um vetor de 2 dimensões e cada elemento é localizado por referência de linha e coluna e Array é uma matriz com mais de 2 dimensões aqui no R.
Todos estes possuem objetos do mesmo tipo, mas o R possui estruturas mais interessantes que permitem a mescla de tipos.
Lista (list) é um vetor que permite que suas células tenham objetos de tipos diferentes... um vetor misto que pode ser acessado pela sua posição ou por seu nome como variável. Dataframe é como uma matriz (2 dimensões) que permite tipos diferentes por coluna; são listas de vetores do mesmo tamanho.

Nos próximos posts vamos falar de algumas funções e ver cada estrutura de dados de forma mais detalhada com exemplos.

Nenhum comentário: