Introdução ao R: Funções, Objetos e Classes

Objetivo Este post tem por objetivo auxiliar na introdução aos conceitos fundamentais da linguagem R.

Introdução O R é uma linguagem de programação e ambiente de software amplamente utilizado para análise estatística e computação gráfica (e muito mais!). Sua história remonta aos anos 90, quando foi criado por Ross Ihaka e Robert Gentleman na Universidade de Auckland, na Nova Zelândia. O R foi inspirado na linguagem S desenvolvida por John Chambers na Bell Labs. O nome “R” foi escolhido como uma homenagem a essas duas influências (Ross e Robert), mas também porque a letra “R” remete à palavra research (pesquisa).

Desde a sua criação, o R cresceu consideravelmente. Em 2023, existem mais de 20.000 pacotes disponíveis via CRAN. Uma das principais vantagens do R é ser open-source (código aberto), o que permitiu uma adoção rápida por cientistas de dados, economistas e estatísticos.

No R, a programação é orientada a objetos e funções. Um objeto é uma instância de uma classe, podendo ser desde um vetor simples até modelos estatísticos complexos.

Funções Formalmente, funções são blocos de código que realizam operações e retornam resultados. O R tem uma abordagem funcional muito forte. Abaixo, um exemplo de como declarar funções (na forma clássica e na moderna):

# Exemplo de função (Sintaxe Clássica)
minha_funcao <- function(x, y) {
  return(x + y)
}

# Ou em versões mais recentes do R (4.1+) ela pode ser declarada como:
minha_funcao_moderna <- \(x, y) {
  return(x + y)
}

# Testando
minha_funcao(2, 5)

Classes e Tipos de Dados Uma classe define a estrutura e o comportamento de objetos. Os tipos de dados fundamentais (atômicos) no R são:

  • Numeric e Integer: Usados para representar números. Numeric aceita decimais (ponto flutuante), enquanto Integer é para números inteiros.
  • Character: Usado para armazenar texto (strings). Ex: "WQuant".
  • Logical: Representa valores booleanos: TRUE (Verdadeiro) ou FALSE (Falso). Podem ser abreviados como T ou F.
  • Vector: Uma sequência de valores do mesmo tipo. É a estrutura mais básica do R.
  • Factor: Usados para variáveis categóricas (ex: “Alto”, “Médio”, “Baixo”). São essenciais para modelagem estatística.
  • List: Diferente dos vetores, as listas podem conter elementos de tipos diferentes (números, textos, vetores e até outras listas) em um único objeto.
  • Matrix: Estrutura bidimensional (tabela) onde todos os dados devem ser do mesmo tipo.
  • Data Frame: A estrutura mais famosa para análise de dados (similar a uma planilha de Excel). Cada coluna pode ter um tipo diferente (uma coluna de texto, outra de números, etc.).

Outros Tipos Importantes

  • Date / POSIXt: Para datas e horários.
  • NA: Representa dados ausentes (Not Available).
  • NULL: Representa a ausência de um objeto (vazio).

Conclusão O R oferece uma variedade rica de tipos de dados. Entender a diferença entre um vector (dados iguais) e uma list (dados mistos), ou entre uma matrix e um data.frame, é o primeiro passo para manipular dados com eficácia na linguagem.

Deixe um comentário