Relatório de Aula Prática 01 - Introdução ao R e Estatistica Descritiva

Estatística e Probabilidade
Prof. Ben Dêivide (DEFIM/CAP/UFSJ)

Autor

Otávio Augusto dos Reis Neiva e Gregório Grazziotti de Carvalho

Data de Publicação

24/08/2026, 18:00

1 📌 Introdução

Na Engenharia Civil contemporânea, a tomada de decisão fundamentada em dados exige o alinhamento entre ferramentas computacionais modernas, métodos estatísticos consolidados e interpretação física dos fenômenos técnicos. O volume crescente de medições em canteiros de obra, ensaios de caracterização mecânica de materiais e monitoramentos geotécnicos torna indispensável a adoção de um ambiente de programação capaz de assegurar reprodutibilidade, automação e precisão analítica.

Nesse contexto, a linguagem de programação R destaca-se como um ecossistema robusto para a computação estatística. O domínio de sua sintaxe e semântica primárias constitui o pilar necessário para a manipulação de matrizes amostrais, permitindo que os preceitos teóricos da estatística descritiva sejam aplicados diretamente à solução de problemas práticos da engenharia.

Este relatório estrutura-se em três etapas encadeadas e complementares:

  • Etapa 1 — Sintaxe e Semântica na Linguagem R: Apresentação dos conceitos estruturais da linguagem, englobando tipos atômicos de dados, estruturas de armazenamento (vetores, matrizes, data frames e listas), operadores lógicos e aritméticos, estruturas de controle de fluxo e modularização de código, fundamentados no curso R Básico 2024.

  • Etapa 2 — Fundamentação Teórica de Estatística Descritiva: Revisão sistemática dos conceitos de organização e tabulação de dados, medidas de posição (tendência central) e medidas de dispersão, embasada na literatura do EPAEC. Inclui também o estudo dos momentos estatísticos de ordem superior — Assimetria (Sk) e Curtose (K) —, detalhando a classificação morfológica das distribuições de frequência.

  • Etapa 3 — Estudo de Caso de Engenharia Civil com o Pacote leem: Organização, tabulação, representação gráfica e cômputo de medidas descritivas de uma base de dados real do contexto da engenharia, utilizando estritamente as funções nativas do pacote leem (Learning Statistics), relacionando os outputs gerados com a teoria algébrica e a prática profissional.


2 🎯 Objetivos

2.1 Objetivo Geral

Desenvolver uma abordagem analítica, computacional e quantitativa integrada para o tratamento, auditoria e interpretação de dados do controle tecnológico na engenharia civil no ambiente Quarto, utilizando a linguagem R como ferramenta central. Busca-se articular a teoria da estatística descritiva, a modelagem computacional reprodutível e a avaliação físico-mecânica de ensaios de materiais, capacitando a tomada de decisão técnica fundamentada em evidências empíricas e critérios normatizados.

2.2 Objetivos Específicos

Etapa 1 — Domínio Computacional da Sintaxe e Semântica no R Básico:

  • Compreender e manipular os tipos atômicos primários de dados (numeric, integer, character e logical), identificando e prevenindo os efeitos da hierarquia de coerção implícita (\(\text{logical} \longrightarrow \text{integer} \longrightarrow \text{numeric} \longrightarrow \text{character}\)) na integridade de bancos de dados experimentais.

  • Estruturar e gerenciar matrizes heterogêneas de armazenamento (data.frame e list), aplicando indexações vetoriais, operacionais e lógicas para a auditoria, seleção e higienização de registros de campo.

  • Construir algoritmos funcionais e estruturas de controle de fluxo (if/else, laços de repetição e funções personalizadas com argumentos nomeados) para automatizar rotinas de processamento e verificação de conformidade normatizada.

Etapa 2 — Fundamentação Teórica e Formulação Algébrica em Estatística Descritiva:

  • Consolidar as formulações matemáticas e o suporte estatístico para o cálculo e interpretação de parâmetros de posição e tendência central (média aritmética \(\bar{x}\), mediana \(Md\) e moda \(Mo\)).

  • Quantificar a variabilidade operacional através das medidas de dispersão — variância amostral (\(s^2\)), desvio-padrão (\(s\)) e Coeficiente de Variação (\(CV\)) —, estabelecendo a correlação direta entre o percentual do \(CV\) e o nível de controle tecnológico e homogeneidade da produção em usinas de concreto.

  • Formular e interpretar os momentos estatísticos centrais de ordem superior — o coeficiente de assimetria (\(Sk\)) e o coeficiente de curtose (\(K\)) —, avaliando a simetria da distribuição de frequências e o grau de achatamento da curva em comparação ao modelo gaussiano de referência.

Etapa 3 — Estudo de Caso Prático e Automação com o Pacote leem:

  • Implementar as funções do pacote leem (Learning Statistics) para a construção automatizada de tabelas de distribuição de frequências por intervalos de classe contínuos com base na Regra de Sturges.

  • Gerar e interpretar representações gráficas sintéticas de alta fidelidade (histogramas de frequência, polígonos, curvas ogivas e diagramas de caixa boxplot), correlacionando o perfil visual das distribuições com a presença de desvios operacionais ou valores discrepantes (outliers).

  • Sintetizar o diagnóstico estatístico-mecânico do estudo de caso, fornecendo subsídios técnicos para relatórios de controle de qualidade e laudos de aceitação estrutural.

3 📚 Fundamentação Teórica

3.1 💻 Etapa 1 — Sintaxe e Semântica na Linguagem R

A linguagem de programação R fundamenta-se na manipulação de objetos dentro de um ambiente de memória interativo e orientado a vetores. O entendimento de sua sintaxe e semântica primárias constitui a base necessária para o desenvolvimento de rotinas computacionais reproduzíveis e estruturadas na Engenharia Civil.


3.1.1 Conceitos Estruturais, Atribuição e Objetos

Tudo o que existe no R é um objeto, e tudo o que ocorre é fruto de uma chamada de função. A criação de objetos e a associação de valores na memória de trabalho são realizadas prioritariamente pelo operador de atribuição <-. Embora o operador = seja sintaticamente aceito em atribuições globais, a convenção padrão da linguagem reserva o = para a passagem de argumentos nomeados no interior de funções.

R

  • Atribuição padrão de variáveis na memória de trabalho resistencia_nominal <- 30.0 # Atribuição recomendada via operador <- fator_seguranca <- 1.4 # Definição de constante escalar

Os nomes de objetos no R são sensíveis à caixa (case-sensitive) e devem obrigatoriamente iniciar por letras ou pelo ponto ., desde que este não seja imediatamente seguido por um número.

Tipos Atômicos de Dados e Coerção

A estrutura mais elementar do R é o vetor atômico. Os elementos que compõem um vetor pertencem a um dos seguintes tipos primários (classes):

numeric / double: Números reais com precisão de ponto flutuante (ex.: 28.5, 3.1415).
integer: Números inteiros representados explicitamente com o sufixo L (ex.: 28L, 100L).
character: Cadeias de texto delimitadas por aspas duplas ("...") ou simples ('...').
logical: Valores booleanos representados pelas palavras reservadas TRUE e FALSE (ou T e F).
complex e raw: Números complexos e armazenamento em bytes brutos, de uso especializado.

R

  • Exemplos de declaração dos tipos atômicos primários idade <- 28L # integer tensao <- 45.2 # numeric status <- TRUE # logical amostra_id <- “CP-001” # Character

Regra da Coerção Implícita

Como vetores atômicos aceitam apenas elementos de uma única classe, o R aplica uma hierarquia estrita de coerção implícita quando tipos distintos são combinados no mesmo vetor. A ordem de prevalência para conversão é:

“logical”⟶“integer”⟶“numeric”⟶“character”

Se um único elemento do tipo character for inserido em um vetor numérico ou lógico, todo o vetor será coagido para a classe character. A coerção explícita pode ser forçada pelo usuário com a família de funções as.*() (as.numeric(), as.character(), as.integer()).

R

  • Coerção implícita: a presença da string força a conversão total do vetor para character vetor_misto <- c(TRUE, 10L, 25.5, “Amostra”) class(vetor_misto) # Retorna “character”

Coerção explícita forçada pelo usuário

valores_texto <- c(“12.5”, “30.0”, “42.1”) valores_num <- as.numeric(valores_texto)

Estruturas de Armazenamento de Dados

A organização dos dados no R varia conforme a dimensão e a homogeneidade das variáveis analisadas:

Código
# 1. Criação do data.frame utilizando estritamente o Base R
tabela_estruturas <- data.frame(
  "Estrutura" = c("Vetor", "Matriz", "Fator", "Data Frame", "Lista"),
  "Dimensões" = c(
    "1D (Unidimensional)",
    "2D (Linhas e Colunas)",
    "1D (Categorias)",
    "2D (Tabela)",
    "1D (Coleção genérica)"
  ),
  "Homogeneidade de Tipos" = c(
    "Homogêneo",
    "Homogêneo",
    "Homogêneo (com níveis)",
    "Heterogêneo entre colunas",
    "Heterogêneo em qualquer nível"
  ),
  "Função de Criação" = c(
    "c()",
    "matrix()",
    "factor()",
    "data.frame()",
    "list()"
  ),
  check.names = FALSE,
  stringsAsFactors = FALSE
)

# 2. Exibição formatada para relatórios Quarto / R Markdown (usando knitr::kable)
knitr::kable(
  tabela_estruturas,
  align = c("c", "c", "c", "c"),
  caption = "Estruturas de Dados Fundamentais na Linguagem R"
)
Estruturas de Dados Fundamentais na Linguagem R
Estrutura Dimensões Homogeneidade de Tipos Função de Criação
Vetor 1D (Unidimensional) Homogêneo c()
Matriz 2D (Linhas e Colunas) Homogêneo matrix()
Fator 1D (Categorias) Homogêneo (com níveis) factor()
Data Frame 2D (Tabela) Heterogêneo entre colunas data.frame()
Lista 1D (Coleção genérica) Heterogêneo em qualquer nível list()

4 📖 Referências

(batista2024epaec?)

(batista2024epaec?)

(batista2025leem?)

(batista2025latex?)