Este relatório foi desenvolvido em R Markdown com o objetivo de
demonstrar recursos básicos de análise de dados utilizando a linguagem
R. A atividade inclui o carregamento de uma base de dados simples,
manipulação dos dados, criação de tabela interativa com o pacote
DT, apresentação de equações em LaTeX, construção de
figuras relacionadas à ciência de dados e inclusão de referências
bibliográficas.
A base utilizada será iris, um conjunto de dados
clássico disponível no próprio R. Essa base contém medidas de flores de
três espécies diferentes de íris: setosa, versicolor e
virginica.
Nesta etapa, são carregados os pacotes necessários para a execução do relatório.
library(dplyr)
library(DT)
library(ggplot2)
library(tidyr)
O conjunto de dados iris já está disponível internamente
no R. Ele contém 150 observações e 5 variáveis: comprimento da sépala,
largura da sépala, comprimento da pétala, largura da pétala e espécie da
flor.
dados <- iris
head(dados)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5.0 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
Também podemos verificar a estrutura da base:
str(dados)
## 'data.frame': 150 obs. of 5 variables:
## $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
## $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
## $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
## $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
## $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
Nesta seção, serão realizadas operações simples de manipulação de dados, incluindo criação de novas variáveis, filtragem, ordenação e resumo estatístico.
A seguir, criamos duas novas variáveis:
Area_Petala: resultado da multiplicação entre
comprimento e largura da pétala;Classificacao_Petala: classificação simples da área da
pétala como pequena ou grande.dados_tratados <- dados %>%
mutate(
Area_Petala = Petal.Length * Petal.Width,
Classificacao_Petala = ifelse(
Area_Petala >= mean(Area_Petala),
"Pétala grande",
"Pétala pequena"
)
)
head(dados_tratados)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species Area_Petala
## 1 5.1 3.5 1.4 0.2 setosa 0.28
## 2 4.9 3.0 1.4 0.2 setosa 0.28
## 3 4.7 3.2 1.3 0.2 setosa 0.26
## 4 4.6 3.1 1.5 0.2 setosa 0.30
## 5 5.0 3.6 1.4 0.2 setosa 0.28
## 6 5.4 3.9 1.7 0.4 setosa 0.68
## Classificacao_Petala
## 1 Pétala pequena
## 2 Pétala pequena
## 3 Pétala pequena
## 4 Pétala pequena
## 5 Pétala pequena
## 6 Pétala pequena
Nesta etapa, filtramos apenas as flores da espécie virginica.
dados_virginica <- dados_tratados %>%
filter(Species == "virginica")
head(dados_virginica)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species Area_Petala
## 1 6.3 3.3 6.0 2.5 virginica 15.00
## 2 5.8 2.7 5.1 1.9 virginica 9.69
## 3 7.1 3.0 5.9 2.1 virginica 12.39
## 4 6.3 2.9 5.6 1.8 virginica 10.08
## 5 6.5 3.0 5.8 2.2 virginica 12.76
## 6 7.6 3.0 6.6 2.1 virginica 13.86
## Classificacao_Petala
## 1 Pétala grande
## 2 Pétala grande
## 3 Pétala grande
## 4 Pétala grande
## 5 Pétala grande
## 6 Pétala grande
Agora os dados são ordenados pela área da pétala, da maior para a menor.
dados_ordenados <- dados_tratados %>%
arrange(desc(Area_Petala))
head(dados_ordenados)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species Area_Petala
## 1 7.7 2.6 6.9 2.3 virginica 15.87
## 2 7.2 3.6 6.1 2.5 virginica 15.25
## 3 6.3 3.3 6.0 2.5 virginica 15.00
## 4 7.7 3.8 6.7 2.2 virginica 14.74
## 5 6.7 3.3 5.7 2.5 virginica 14.25
## 6 7.7 3.0 6.1 2.3 virginica 14.03
## Classificacao_Petala
## 1 Pétala grande
## 2 Pétala grande
## 3 Pétala grande
## 4 Pétala grande
## 5 Pétala grande
## 6 Pétala grande
Nesta etapa, calculamos a média do comprimento da pétala, da largura da pétala e da área da pétala para cada espécie.
resumo_especies <- dados_tratados %>%
group_by(Species) %>%
summarise(
Media_Comprimento_Petala = mean(Petal.Length),
Media_Largura_Petala = mean(Petal.Width),
Media_Area_Petala = mean(Area_Petala)
)
resumo_especies
## # A tibble: 3 × 4
## Species Media_Comprimento_Petala Media_Largura_Petala Media_Area_Petala
## <fct> <dbl> <dbl> <dbl>
## 1 setosa 1.46 0.246 0.366
## 2 versicolor 4.26 1.33 5.72
## 3 virginica 5.55 2.03 11.3
A tabela abaixo foi criada com o pacote DT. Ela permite
realizar busca, ordenação das colunas e paginação dos dados.
datatable(
dados_tratados,
caption = "Tabela interativa da base iris com variáveis criadas",
options = list(
pageLength = 10,
searching = TRUE,
ordering = TRUE,
paging = TRUE,
language = list(
search = "Pesquisar:",
lengthMenu = "Mostrar _MENU_ registros por página"
)
)
)
Nesta seção, são apresentadas cinco equações importantes para análise de dados, estatística e modelagem.
A média ponderada é utilizada quando diferentes valores possuem pesos distintos.
\[ \bar{x}_p = \frac{\sum_{i=1}^{n} w_i x_i}{\sum_{i=1}^{n} w_i} \]
Onde:
O coeficiente de variação mede a dispersão relativa dos dados em relação à média.
\[ CV = \frac{s}{\bar{x}} \times 100 \]
Onde:
Essa medida é útil para comparar a variabilidade entre conjuntos de dados com escalas diferentes.
A distância Euclidiana mede a distância entre dois pontos em um espaço multidimensional.
\[ d(x,y) = \sqrt{\sum_{i=1}^{n}(x_i - y_i)^2} \]
Onde:
Essa equação é bastante usada em algoritmos de agrupamento e classificação.
A entropia mede o grau de incerteza ou impureza em um conjunto de dados.
\[ H(X) = -\sum_{i=1}^{n} p_i \log_2(p_i) \]
Onde:
Essa medida é usada em árvores de decisão e outros métodos de aprendizado de máquina.
A função logística é utilizada em modelos de classificação, como a regressão logística.
\[ P(Y=1|X) = \frac{1}{1 + e^{-(\beta_0 + \beta_1X)}} \]
Onde:
Nesta seção, são apresentadas duas figuras criadas com o pacote
ggplot2.
O gráfico de dispersão abaixo mostra a relação entre o comprimento e a largura das pétalas, separando as observações por espécie.
ggplot(dados_tratados, aes(x = Petal.Length, y = Petal.Width, color = Species)) +
geom_point(size = 3, alpha = 0.8) +
labs(
title = "Relação entre comprimento e largura das pétalas",
x = "Comprimento da pétala",
y = "Largura da pétala",
color = "Espécie"
) +
theme_minimal()
O gráfico abaixo mostra a área média da pétala para cada espécie da
base iris.
resumo_especies %>%
ggplot(aes(x = Species, y = Media_Area_Petala)) +
geom_col() +
labs(
title = "Área média da pétala por espécie",
x = "Espécie",
y = "Área média da pétala"
) +
theme_minimal()
A análise exploratória permite observar diferenças importantes entre
as espécies da base iris. A espécie setosa
apresenta, em geral, pétalas menores, enquanto as espécies
versicolor e virginica apresentam pétalas maiores.
A criação da variável Area_Petala facilitou a comparação
entre as espécies, pois combina duas medidas importantes em uma única
variável. Além disso, a tabela interativa permite explorar os dados de
forma dinâmica, possibilitando buscas e ordenações.
Os gráficos ajudam a visualizar padrões que não seriam tão evidentes apenas com a leitura da tabela. O gráfico de dispersão mostra que as espécies possuem agrupamentos relativamente distintos quando analisamos comprimento e largura das pétalas.
O relatório demonstrou como o R Markdown pode ser usado para organizar uma análise de dados de forma clara e estruturada. Foram aplicadas técnicas simples de manipulação de dados, criação de tabela interativa, uso de equações matemáticas em LaTeX, construção de visualizações e apresentação de referências bibliográficas.
Dessa forma, a atividade atende aos critérios propostos, integrando código, explicações, tabelas, fórmulas, gráficos e referências em um único documento HTML.
KUHN, Max; JOHNSON, Kjell. Applied Predictive Modeling. New York: Springer, 2013.
IZENMAN, Alan Julian. Modern Multivariate Statistical Techniques: Regression, Classification, and Manifold Learning. New York: Springer, 2008.
MURPHY, Kevin P. Machine Learning: A Probabilistic Perspective. Cambridge: MIT Press, 2012.
TUFTE, Edward R. The Visual Display of Quantitative Information. Cheshire: Graphics Press, 2001.
FIELD, Andy; MILES, Jeremy; FIELD, Zoë. Discovering Statistics Using R. London: SAGE Publications, 2012.