Uma Introdução à Programação em R
Este curso é uma introdução abrangente ao ambiente de linguagem R, abrangendo tópicos essenciais desde operações básicas com vetores numéricos, atributos de objetos, processamento de matrizes e arrays, gerenciamento de listas e quadros de dados, até modelagem estatística e produção de gráficos de alta qualidade. É altamente adequado como texto introdutório para análise estatística e ciência de dados.
Visão Geral do Curso
📚 Resumo do Conteúdo
Este curso é uma introdução abrangente ao ambiente de linguagem R, abordando tópicos centrais que vão desde operações básicas com vetores numéricos, atributos de objetos e manipulação de arrays/matrizes até o gerenciamento de listas e quadros de dados, modelagem estatística e produção de gráficos de alta qualidade. É adequado como livro-texto introdutório para análise estatística e ciência de dados.
Domine os fundamentos da linguagem R e abra a porta para computação estatística e visualização de dados.
Autor: Equipe Núcleo de Desenvolvimento do R
Agradecimentos: Este manual é mantido pela Equipe Núcleo de Desenvolvimento do R. A versão em chinês agradece a base da tradução japonesa feita por Shigeru MASE, bem como as contribuições da equipe de tradutores chineses, incluindo os Drs. ZP Li e Rui Li.
🎯 Objetivos de Aprendizagem
- Iniciar sessões do R, navegar no sistema de ajuda e aplicar regras básicas de sintaxe (sensibilidade a maiúsculas/minúsculas, atribuições e comentários).
- Distinguir entre e criar vetores lógicos, vetores de caracteres e lidar com valores ausentes (
NAeNaN). - Utilizar quatro métodos distintos de indexação para selecionar, excluir ou modificar subconjuntos específicos de dados.
- Identificar e modificar os atributos intrínsecos (tipo e comprimento) dos objetos do R.
- Utilizar as funções
class()eattr()para gerenciar metadados de objetos e estruturas de dados. - Criar e manipular fatores e fatores ordenados para representar dados categóricos.
- Definir e construir arrays e matrizes usando vetores de dimensão e a função
array(). - Aplicar técnicas avançadas de indexação, incluindo o uso de matrizes de índice para extrair ou modificar elementos específicos.
- Executar operações de álgebra linear, incluindo produtos externos, transposições generalizadas e inversões de matrizes.
- Construir e modificar listas: criar listas nomeadas e não nomeadas e combiná-las usando sintaxe específica do R.
🔹 Aula 1: Introdução ao R e Noções Básicas de Vetores
Visão Geral: Esta aula apresenta o ambiente fundamental do R, cobrindo sua sintaxe básica, execução de comandos e sistemas de ajuda. Explora também tipos especializados de vetores — lógicos, de caracteres e valores ausentes — e fornece métodos detalhados para selecionar e modificar subconjuntos de dados por meio de vetores de índice.
Resultados de Aprendizagem:
- Iniciar sessões do R, navegar no sistema de ajuda e aplicar regras básicas de sintaxe (sensibilidade a maiúsculas/minúsculas, atribuições e comentários).
- Distinguir entre e criar vetores lógicos, vetores de caracteres e lidar com valores ausentes (
NAeNaN). - Utilizar quatro métodos distintos de indexação para selecionar, excluir ou modificar subconjuntos específicos de dados.
🔹 Aula 2: Atributos de Objetos e Manipulação de Fatores
Visão Geral: Esta aula aborda as propriedades fundamentais dos objetos do R, especificamente seus atributos intrínsecos como tipo e comprimento, e como esses podem ser consultados ou modificados. Também explora os "fatores" — uma estrutura de dados especializada para lidar com variáveis categóricas — e demonstra como usar a função tapply() para realizar análises estatísticas agrupadas por níveis de fator.
Resultados de Aprendizagem:
- Identificar e modificar os atributos intrínsecos (tipo e comprimento) dos objetos do R.
- Utilizar as funções
class()eattr()para gerenciar metadados de objetos e estruturas de dados. - Criar e manipular fatores e fatores ordenados para representar dados categóricos.
🔹 Aula 3: Arrays, Matrizes e Álgebra Linear
Visão Geral: Esta aula explora as robustas capacidades do R para lidar com dados multidimensionais por meio de arrays e matrizes. Os alunos aprenderão a definir estruturas de dados usando vetores de dimensão, realizar indexação complexa e executar operações essenciais de álgebra linear — como multiplicação de matrizes, inversão e decomposições — críticas para computação estatística e análise de dados.
Resultados de Aprendizagem:
- Definir e construir arrays e matrizes usando vetores de dimensão e a função
array(). - Aplicar técnicas avançadas de indexação, incluindo o uso de matrizes de índice para extrair ou modificar elementos específicos.
- Executar operações de álgebra linear, incluindo produtos externos, transposições generalizadas e inversões de matrizes.
🔹 Aula 4: Gestão de Dados: Listas, Quadros de Dados e Entrada/Saída
Visão Geral: Esta aula aborda os fundamentos para lidar com estruturas de dados complexas e dados externos no R. Foca nas listas — containers flexíveis que armazenam componentes de tipos diferentes — e na prática de entrada/saída (I/O), incluindo a leitura de arquivos externos em estruturas de lista ou matrizes, acesso a conjuntos de dados embutidos em pacotes e uso de ferramentas interativas de edição para modificar dados.
Resultados de Aprendizagem:
- Construir e Modificar Listas: Criar listas nomeadas e não nomeadas e combiná-las usando sintaxe específica do R.
- Acesso a Componentes: Distinguir entre e aplicar diferentes métodos de indexação (
[[ ]],[ ]e$) para recuperar dados de listas. - Entrada de Dados Externos: Usar a função
scan()para ler dados de arquivos externos em listas ou matrizes estruturadas.
🔹 Aula 5: Distribuições de Probabilidade e Testes Estatísticos
Visão Geral: Esta aula fornece um guia completo para lidar com distribuições de probabilidade e realizar inferência estatística no R. Os alunos aprenderão a utilizar o sistema padronizado de prefixos do R (d, p, q, r) para funções de distribuição, gerar estatísticas descritivas e avaliar visualmente dados usando funções empíricas cumulativas de distribuição (ecdf) e gráficos Q-Q.
Resultados de Aprendizagem:
- Dominar a nomenclatura de distribuições do R (prefixos d, p, q, r) e aplicá-los a distribuições padrão como Normal, T e F.
- Construir e interpretar ferramentas visuais de diagnóstico, especificamente funções empíricas cumulativas de distribuição (ecdf) e gráficos Quantil-Quantil (Q-Q), para avaliar ajuste de distribuição.
- Executar e diferenciar testes paramétricos e não paramétricos, incluindo testes t de Welch, testes de normalidade de Shapiro-Wilk e testes de Kolmogorov-Smirnov.
🔹 Aula 6: Controle de Programa e Lógica Iterativa
Visão Geral: Esta aula aborda os mecanismos fundamentais para controlar o fluxo de execução no R. Foca em agrupar múltiplas expressões em unidades únicas e utilizar declarações de controle — incluindo ramificação condicional (if-else) e várias estruturas de repetição (for, repeat e while) — para automatizar tarefas de análise de dados e lidar com lógica complexa.
Resultados de Aprendizagem:
- Agrupar múltiplas expressões do R em uma única instrução usando chaves.
- Implementar lógica condicional para executar blocos de código específicos com base em critérios lógicos.
- Construir laços iterativos para automatizar operações repetitivas sobre estruturas de dados como vetores e listas.
🔹 Aula 7: Desenvolvimento de Funções Personalizadas e Escopo
Visão Geral: Esta aula explora a transição do uso do R como calculadora interativa para usá-lo como linguagem de programação, desenvolvendo funções personalizadas. Cobertura inclui sintaxe de definição de funções, tratamento de argumentos, regras de escopo léxico e conceitos fundamentais do sistema orientado a objetos S3 do R por meio de funções genéricas e métodos.
Resultados de Aprendizagem:
- Criar e Chamar Funções Personalizadas: Definir funções com parâmetros formais e operadores binários personalizados.
- Gerenciar Argumentos e Escopo: Distinguir entre correspondência de argumentos posicionais e por nome e explicar como o escopo léxico gerencia variáveis locais e livres.
- Implementar Estado Mutável e Ambientes Personalizados: Usar closures e o operador de superatribuição para manter estado e personalizar o ambiente do R por meio de funções de inicialização/sessão.
🔹 Aula 8: Modelagem Estatística: Linear e Não Linear
Visão Geral: Esta aula explora o conjunto abrangente de ferramentas do R para modelagem estatística além da regressão linear simples. Aborda a extração de informações de modelos por meio de funções genéricas, a comparação de modelos via ANOVA e o ajuste de Modelos Lineares Generalizados (GLMs) para dados binários e contagens, juntamente com técnicas de modelagem não linear.
Resultados de Aprendizagem:
- Usar funções genéricas do R para extrair, resumir e visualizar informações de modelos ajustados.
- Realizar comparações de modelos usando tabelas ANOVA e atualizar modelos existentes usando sintaxe eficiente.
- Ajustar Modelos Lineares Generalizados (GLMs) usando famílias e funções de ligação apropriadas (por exemplo, Logit, Probit, Poisson).
🔹 Aula 9: Visualização de Dados com Gráficos de Alta e Baixa Nível
Visão Geral: Esta aula aborda as capacidades gráficas abrangentes do R, distinguindo entre funções de plotagem de alto nível que criam gráficos completos e comandos de baixo nível que adicionam elementos específicos a exibições existentes. Os alunos aprenderão a manipular parâmetros gráficos para controle estético preciso e gerenciar múltiplos ambientes de figuras.
Resultados de Aprendizagem:
- Distinguir entre e implementar funções gráficas de alto nível (por exemplo,
plot(),hist()) e de baixo nível (por exemplo,points(),lines()). - Aplicar e gerenciar parâmetros gráficos usando condições permanentes (
par()) e temporárias (no nível da função). - Coordenar layouts complexos, incluindo exibições de dados multivariados e ambientes de múltiplas figuras.
🔹 Aula 10: Ecossistema de Pacotes e Configuração do Ambiente
Visão Geral: Esta aula explora as bases estruturais do R, focando no ecossistema de pacotes, o papel do CRAN e o mecanismo de namespaces para gerenciar funções. Também fornece um roteiro prático para executar o R por meio de diversas interfaces e dominar a configuração do ambiente por meio de argumentos de linha de comando e atalhos de teclado.
Resultados de Aprendizagem:
- Compreender a relação entre pacotes, namespaces e o sistema de repositório CRAN.
- Executar uma "sessão de amostra" abrangente envolvendo manipulação de dados, modelagem estatística e plotagem matemática complexa.
- Configurar o ambiente de inicialização do R usando flags de linha de comando e variáveis de ambiente.