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.
Numericaceita decimais (ponto flutuante), enquantoIntegeré para números inteiros. - Character: Usado para armazenar texto (strings). Ex:
"WQuant". - Logical: Representa valores booleanos:
TRUE(Verdadeiro) ouFALSE(Falso). Podem ser abreviados comoTouF. - 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.