Relatório

1. Manipulação dos Dados

Dataset utilizado

Neste trabalho foi utilizado o dataset iris, que já está disponível no R.

O conjunto de dados contém informações sobre três espécies de flores Iris:

  • Setosa
  • Versicolor
  • Virginica

As variáveis analisadas são:

  • Sepal.Length: comprimento da sépala;
  • Sepal.Width: largura da sépala;
  • Petal.Length: comprimento da pétala;
  • Petal.Width: largura da pétala;
  • Species: 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

O comando head() permite visualizar as seis primeiras observações do conjunto de dados.

Estrutura dos dados

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 ...

O comando str() permite verificar a estrutura do dataset, incluindo o tipo de cada variável.

Média do comprimento da pétala

mean(dados$Petal.Length)
## [1] 3.758

Esse comando calcula a média do comprimento das pétalas de todas as flores presentes no conjunto de dados.

Média por espécie

dados %>%
  group_by(Species) %>%
  summarise(media_petala = mean(Petal.Length))
## # A tibble: 3 × 2
##   Species    media_petala
##   <fct>             <dbl>
## 1 setosa             1.46
## 2 versicolor         4.26
## 3 virginica          5.55

Primeiro, os dados são agrupados pela variável Species.

Depois, a função summarise() calcula a média do comprimento da pétala para cada espécie.

Filtragem

Agora serão selecionadas apenas as flores cujo comprimento da pétala seja maior que a média geral.

media_petala <- mean(dados$Petal.Length)

dados_filtrados <- dados %>%
  filter(Petal.Length > media_petala)

head(dados_filtrados)
##   Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
## 1          7.0         3.2          4.7         1.4 versicolor
## 2          6.4         3.2          4.5         1.5 versicolor
## 3          6.9         3.1          4.9         1.5 versicolor
## 4          5.5         2.3          4.0         1.3 versicolor
## 5          6.5         2.8          4.6         1.5 versicolor
## 6          5.7         2.8          4.5         1.3 versicolor

O comando filter() mantém somente as observações que satisfazem uma determinada condição.

Neste caso:

\[ Petal.Length > média(Petal.Length) \]

Criação de uma nova variável

Será criada uma variável chamada Razao.Petala, calculada pela divisão entre o comprimento e a largura da pétala.

dados <- dados %>%
  mutate(Razao.Petala = Petal.Length / Petal.Width)

head(dados)
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species Razao.Petala
## 1          5.1         3.5          1.4         0.2  setosa         7.00
## 2          4.9         3.0          1.4         0.2  setosa         7.00
## 3          4.7         3.2          1.3         0.2  setosa         6.50
## 4          4.6         3.1          1.5         0.2  setosa         7.50
## 5          5.0         3.6          1.4         0.2  setosa         7.00
## 6          5.4         3.9          1.7         0.4  setosa         4.25

A função mutate() é utilizada para criar novas variáveis dentro de um dataframe.

Ordenação

Agora os dados serão organizados de acordo com o comprimento da pétala, do maior para o menor.

dados_ordenados <- dados %>%
  arrange(desc(Petal.Length))

head(dados_ordenados)
##   Sepal.Length Sepal.Width Petal.Length Petal.Width   Species Razao.Petala
## 1          7.7         2.6          6.9         2.3 virginica     3.000000
## 2          7.7         3.8          6.7         2.2 virginica     3.045455
## 3          7.7         2.8          6.7         2.0 virginica     3.350000
## 4          7.6         3.0          6.6         2.1 virginica     3.142857
## 5          7.9         3.8          6.4         2.0 virginica     3.200000
## 6          7.3         2.9          6.3         1.8 virginica     3.500000

A função arrange() organiza os dados.

O uso de desc() indica que a ordenação deve ocorrer em ordem decrescente.

2. Tabela Interativa

O pacote DT permite transformar um dataframe em uma tabela interativa.

A tabela oferece recursos como:

  • busca;
  • ordenação;
  • paginação;
  • navegação entre os registros.
datatable(
  dados,
  options = list(
    pageLength = 10
  )
)

3. Equações

Equação 1 — Média aritmética

\[ \bar{x} = \frac{1}{n}\sum_{i=1}^{n}x_i \]

A média aritmética representa o valor médio de um conjunto de observações.


Equação 2 — Variância amostral

\[ s^2 = \frac{\sum_{i=1}^{n}(x_i-\bar{x})^2}{n-1} \]

A variância mede o quanto os valores estão dispersos em relação à média.


Equação 3 — Desvio padrão

\[ s = \sqrt{\frac{\sum_{i=1}^{n}(x_i-\bar{x})^2}{n-1}} \]

O desvio padrão representa a dispersão dos dados na mesma unidade da variável analisada.


Equação 4 — Correlação de Pearson

\[ r = \frac{ \sum_{i=1}^{n}(x_i-\bar{x})(y_i-\bar{y}) }{ \sqrt{ \sum_{i=1}^{n}(x_i-\bar{x})^2 \sum_{i=1}^{n}(y_i-\bar{y})^2 } } \]

O coeficiente de correlação de Pearson mede a força e a direção de uma relação linear entre duas variáveis.

Se o valor estiver próximo de 1, existe forte relação positiva.

Se estiver próximo de -1, existe forte relação negativa.

Se estiver próximo de 0, existe pouca relação linear.


Equação 5 — Regressão Linear

\[ \hat{y} = \beta_0 + \beta_1x \]

A regressão linear busca representar a relação entre uma variável explicativa \(x\) e uma variável resposta \(y\).

O parâmetro \(\beta_0\) representa o intercepto e \(\beta_1\) representa a inclinação da reta.

4. Figuras

Relação entre comprimento e largura da pétala

ggplot(dados, aes(
  x = Petal.Length,
  y = Petal.Width,
  shape = Species
)) +
  geom_point(size = 2) +
  labs(
    title = "Comprimento e largura das pétalas",
    x = "Comprimento da pétala",
    y = "Largura da pétala"
  )

O gráfico permite observar a relação entre o comprimento e a largura das pétalas das diferentes espécies.

Distribuição do comprimento das pétalas

ggplot(dados, aes(
  x = Species,
  y = Petal.Length
)) +
  geom_boxplot() +
  labs(
    title = "Comprimento das pétalas por espécie",
    x = "Espécie",
    y = "Comprimento da pétala"
  )

O boxplot permite comparar a distribuição do comprimento das pétalas entre as três espécies.

5. Referências

CLEVELAND, W. S. Visualizing Data. Summit: Hobart Press, 1993.

TUFTE, E. R. The Visual Display of Quantitative Information. 2. ed. Cheshire: Graphics Press, 2001.

WICKHAM, H. ggplot2: Elegant Graphics for Data Analysis. New York: Springer, 2016.

WICKHAM, H. Tidy Data. Journal of Statistical Software, v. 59, n. 10, p. 1–23, 2014.

WICKHAM, H.; GROLEMUND, G. R for Data Science. Sebastopol: O’Reilly Media, 2017.

library(dplyr) library(DT) library(ggplot2)