---
# Só mude aqui!!!!
author: "Otávio Augusto dos Reis Neiva e Gregório Grazziotti de Carvalho"
title: "Relatório de Aula Prática 01 - Introdução ao R e Estatistica Descritiva "
bibliography: referencias.bib
# A partir daqui nao faca alteracoes!!!!!
link-citations: true
csl: associacao-brasileira-de-normas-tecnicas-ipea.csl
subtitle: "<a href='https://bendeivide.github.io/courses/epaec/' target='_blank'>Estatística e Probabilidade</a> </br> <a href='https://bendeivide.github.io' target='_blank'>Prof. Ben Dêivide (DEFIM/CAP/UFSJ)</a>"
include-before-body: header.html
date: now
date-format: "24/08/2026, 18:00"
lang: pt-BR
format:
html:
toc: true
number-sections: true
theme: bootstrap
#css: styles.css
code-fold: true
code-tools: true
execute:
echo: true
warning: false
message: false
---
## 📌 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.
---
## 🎯 Objetivos
### 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.
### 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.
## 📚 Fundamentação Teórica
### 💻 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.
---
#### 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:
```{r}
# 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"
)
```
## 📖 Referências
[@batista2024epaec]
[@batista2024epaec]
[@batista2025leem]
[@batista2025latex]