Documentação de R
Referência concisa e baseada em exemplos de R. Leia o conceito, veja o código e pratique em uma jornada da Coddy.
Primeiros passos
- O Que É R?O que é a linguagem de programação R, de onde ela veio, para que é usada e como se compara ao Python - com um primeiro gostinho executável de código R.
- Instalar o RComo baixar o R do CRAN e instalá-lo no Windows, macOS ou Linux, além do RStudio - a IDE que quase todo mundo usa para escrever R.
- Executar um Script RTodas as formas de executar código R: o console interativo, Rscript pela linha de comando, source() de dentro do R e os comandos Run e Source no RStudio.
- Sintaxe do RO núcleo da sintaxe do R: atribuição com <-, expressões e impressão automática, chamadas de função com argumentos nomeados e a regra de que tudo é um vetor.
- ComentáriosComo funcionam os comentários no R: o símbolo #, por que o R não tem comentário multilinha de verdade, o atalho do RStudio para comentar blocos e o que bons comentários dizem.
Variáveis e dados
- VariáveisComo criar variáveis em R com a seta <-, quando o = é obrigatório, as regras de nomenclatura e como listar e remover variáveis com ls() e rm().
- Tipos de DadosOs tipos de dados atômicos em R - double, integer, character, logical - além da diferença entre typeof() e class() e de como funcionam conversão e coerção.
- NúmerosTrabalhando com números em R: numeric vs integer, a família de arredondamento, sqrt e log, o operador de módulo %% e os valores especiais Inf e NaN.
- StringsTudo o que você precisa para texto em R: criar strings, juntar com paste e paste0, formatar com sprintf e pesquisar com gsub, grepl e strsplit.
- Entrada e SaídaComo a saída funciona em R - impressão automática, print() vs cat(), message() - e como ler entrada do usuário com readline() e readLines().
Fluxo de controle
- OperadoresTodos os operadores de que você precisa em R - aritméticos incluindo %% e %/%, comparações vetorizadas, a diferença entre & e &&, e %in% para testar pertencimento.
- If / ElseLógica condicional em R - a sintaxe de if/else if/else, a armadilha das chaves que quebra scripts, o ifelse() vetorizado para vetores inteiros e switch() para escolhas múltiplas.
- Laços ForComo laços for funcionam em R - iterando sobre vetores e índices, coletando resultados sem a armadilha do vetor que cresce, next e break, e quando uma chamada vetorizada supera um laço.
- Laços WhileComo laços while funcionam em R - iteração com condição primeiro, repeat com break como o do-while do R, next, e os hábitos que mantêm você longe de laços infinitos.
Estruturas de dados
- VetoresVetores são a unidade fundamental do R - até um único número é um deles. Como criá-los com c(), indexá-los (a partir do 1!), filtrá-los com máscaras lógicas e fazer contas em vetores inteiros de uma vez.
- ListasListas são o contêiner do R onde vale tudo: tipos mistos, estruturas aninhadas, data frames inteiros. A habilidade central é saber quando [ retorna uma lista menor e quando [[ retorna o próprio elemento.
- MatrizesComo construir matrizes com matrix(), cbind() e rbind(), indexar linhas e colunas, e manter o * elemento a elemento separado da verdadeira multiplicação de matrizes %*%.
- FatoresFatores são como o R armazena dados categóricos: códigos inteiros vestindo rótulos de texto. Como criá-los, ordená-los, definir o nível de referência - e escapar da armadilha de fator para numérico.
- Data FramesO data frame é a planilha do R: colunas nomeadas de mesmo comprimento, cada uma com seu próprio tipo. Como construir um, dimensioná-lo com str() e head(), e chegar às colunas, linhas e células.
- Valores Ausentes (NA)NA significa "desconhecido" - e se espalha por todo cálculo que toca. Como detectá-lo com is.na(), ignorá-lo com na.rm = TRUE e removê-lo ou substituí-lo deliberadamente.
Funções e pacotes
- FunçõesComo criar uma função no R - a sintaxe function(x) { }, valores de retorno, argumentos padrão e nomeados, os três pontos ..., funções anônimas e como funciona o escopo.
- Família applyA família apply - apply, lapply, sapply, vapply, mapply e tapply - roda uma função sobre cada elemento dos seus dados. Veja o que cada uma faz e quando recorrer a elas.
- PipesO que %>% significa, como funciona o pipe nativo |> do R base, as regras e os placeholders de cada um, e qual usar em código novo.
- PacotesComo funcionam os pacotes do R: instalar do CRAN com install.packages(), carregar com library(), require() vs library(), pkg::fun() e os pacotes que vale a pena conhecer.
- Diretório de TrabalhoOnde o R procura arquivos e como controlar isso: getwd(), setwd(), list.files(), limpar o ambiente com rm(list = ls()) e por que o salvamento automático do .RData é uma armadilha.
Manipulação de dados
- dplyrO que é o dplyr, como instalá-lo e como seus seis verbos principais mais o pipe transformam código bagunçado de data frames em pipelines legíveis.
- Filtrar e SubconjuntosTodas as formas de manter as linhas e colunas que você quer: máscaras lógicas com colchetes, o atalho subset(), %in%, armadilhas de NA e o filter() e select() do dplyr.
- Adicionar Colunas (mutate)Como adicionar, transformar e remover colunas de data frames: df$new <- ..., ifelse() para colunas condicionais, transform() e o mutate() do dplyr com case_when().
- Renomear ColunasRenomear colunas de data frames no R: names() e colnames(), renomear por posição vs por nome, setNames(), rename() do dplyr e como limpar cabeçalhos bagunçados de importação.
- OrdenaçãoComo a ordenação realmente funciona no R: sort() para vetores, por que data frames precisam do truque de índices do order(), ordenações decrescentes e por múltiplas colunas, e o arrange() do dplyr.
- Agrupar e ResumirTodas as formas de calcular estatísticas por grupo no R: contagem com table(), tapply() para uma estatística por grupo, a interface de fórmula do aggregate() e o group_by() com summarize() do dplyr.
- Merge e JoinsCombinando data frames por uma chave compartilhada: merge() para inner, left, right e full joins, chaves com nomes diferentes via by.x/by.y, a família de joins do dplyr e rbind() para empilhar linhas.
- Pivot (Remodelar)Os formatos wide e long de dados e como converter entre eles: pivot_longer() e pivot_wider() do tidyr, os nomes antigos spread/gather e o reshape() do R base.
Importação e exportação
- Ler CSVComo importar arquivos CSV para o R com read.csv() - os argumentos que importam, a armadilha do diretório de trabalho que causa a maioria das falhas e quando readr::read_csv vale a pena.
- Ler ExcelO R não abre arquivos .xlsx sozinho - o pacote readxl preenche a lacuna. Como ler abas, intervalos e cabeçalhos, escrever Excel de volta e desviar das armadilhas clássicas de importação do Excel.
- Gravar CSV e RDSExportando do R: write.csv com row.names = FALSE (sempre), write.table para outros delimitadores e saveRDS para viagens de ida e volta que não perdem seus tipos.
- DatasA classe Date do R é uma contagem de dias usando uma fantasia. Como interpretar strings com as.Date, formatar datas para exibição, subtraí-las, construir sequências e quando você precisa de POSIXct.
Gráficos
- plot()Como funciona a função plot() do R - tipos de gráfico, títulos e rótulos de eixos, cores, símbolos de pontos (pch), camadas com lines() e abline(), e legendas.
- HistogramaComo fazer um histograma no R com hist() - escolher os breaks, estilizar as barras, mudar para a escala de densidade, sobrepor uma curva normal e a versão em ggplot2.
- BoxplotComo fazer um boxplot no R com boxplot() - ler a caixa e os bigodes, a interface de fórmula para comparar grupos, estilização e como encontrar os números por trás do gráfico.
- Gráfico de DispersãoComo fazer um gráfico de dispersão no R - plotar duas variáveis com plot(), adicionar uma reta de regressão com abline(lm()), suavizar com lowess() e montar uma matriz pairs().
- Gráfico de BarrasComo fazer um gráfico de barras no R com barplot() - a partir de um vetor nomeado ou de um table(), barras agrupadas e empilhadas a partir de uma matriz, estilização e geom_col vs geom_bar.
- ggplot2Como o ggplot2 funciona - o modelo mental dados + aes() + geom, mapear vs definir estéticas, labs(), facet_wrap(), temas e como salvar gráficos com ggsave().
Estatística
- Estatística DescritivaComo resumir dados no R: mean(), median(), sd(), var(), summary(), quantile() - o que cada um calcula, o detalhe do n−1 por trás do sd() e por que o mode() do R é uma armadilha.
- CorrelaçãoMeça o quanto duas variáveis se movem juntas com cor(), teste se a relação é real com cor.test() e examine muitas variáveis de uma vez com uma matriz de correlação.
- Teste tRode testes t de uma amostra, de duas amostras e pareados com t.test() e - a parte que realmente importa - leia cada linha da saída: t, df, p-valor, intervalo de confiança.
- ANOVACompare as médias de três ou mais grupos com aov(), leia a tabela da ANOVA célula a célula e descubra quais grupos de fato diferem com TukeyHSD().
- Regressão LinearAjuste uma regressão com lm(), leia cada bloco do summary() - coeficientes, erros padrão, p-valores, R-quadrado, a estatística F - e faça previsões com predict().
- Regressão LogísticaModele desfechos sim/não com glm(family = binomial): leia o summary, converta coeficientes em log-odds para razões de chances com exp() e obtenha probabilidades previstas do jeito certo.
- Intervalos de ConfiançaObtenha intervalos de confiança para médias, proporções e coeficientes de modelos - t.test(), prop.test(), confint() - além do que "95% de confiança" realmente significa e de como o tamanho da amostra determina a largura.
- Números AleatóriosGere dados aleatórios com rnorm(), runif(), rbinom() e sample(), torne-os reprodutíveis com set.seed() e decodifique o sistema de nomes d/p/q/r do R para distribuições.