1.Carregando Pacote de Dados

O pacote de dados que irei utilizar para fazer a manipulação dos dados será o iris que é um database que contêm as seguintes informações:

data(iris)
kable(head(iris, 8), caption = "Primeiras 8 linhas do dataset iris")
Primeiras 8 linhas do dataset iris
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5.0 3.6 1.4 0.2 setosa
5.4 3.9 1.7 0.4 setosa
4.6 3.4 1.4 0.3 setosa
5.0 3.4 1.5 0.2 setosa

2.Manipulação Simples

O dataset iris possui 150 linhas e 5 variáveis: Sepal.Length, Sepal.Width, Petal.Length, Petal.Width, Species

str(iris)
## '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 ...
summary(iris)
##   Sepal.Length    Sepal.Width     Petal.Length    Petal.Width   
##  Min.   :4.300   Min.   :2.000   Min.   :1.000   Min.   :0.100  
##  1st Qu.:5.100   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300  
##  Median :5.800   Median :3.000   Median :4.350   Median :1.300  
##  Mean   :5.843   Mean   :3.057   Mean   :3.758   Mean   :1.199  
##  3rd Qu.:6.400   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800  
##  Max.   :7.900   Max.   :4.400   Max.   :6.900   Max.   :2.500  
##        Species  
##  setosa    :50  
##  versicolor:50  
##  virginica :50  
##                 
##                 
## 

2.1 Criação de novas variáveis

Vamos criar uma nova variavel chamada Sepal.Ratio = Sepal.Length / Sepal.Width e também uma variável categorica simples LargeSepal que indica se Sepal.Length é maior que a mediana.

iris_mod <- iris %>%
  mutate(
    Sepal.Ratio = Sepal.Length / Sepal.Width,
    LargeSepal = ifelse(Sepal.Length > median(Sepal.Length), "Yes", "No")
  )

kable(head(iris_mod, 6), caption = "Iris modificado com adição do Sepal.Ratio e LargeSepal")
Iris modificado com adição do Sepal.Ratio e LargeSepal
Sepal.Length Sepal.Width Petal.Length Petal.Width Species Sepal.Ratio LargeSepal
5.1 3.5 1.4 0.2 setosa 1.457143 No
4.9 3.0 1.4 0.2 setosa 1.633333 No
4.7 3.2 1.3 0.2 setosa 1.468750 No
4.6 3.1 1.5 0.2 setosa 1.483871 No
5.0 3.6 1.4 0.2 setosa 1.388889 No
5.4 3.9 1.7 0.4 setosa 1.384615 No

2.2 Ordenação e Filtragem

Agora vou ordenar o dataframe por Sepal.Ratio em ordem decrescente e filtrarei apenas as observações Species == “Virginica”

iris_sorted <- iris_mod %>%
  arrange(desc(Sepal.Ratio))

iris_virginica <- iris_mod %>%
  filter(Species == "virginica")

kable(head(iris_sorted, 5), caption = "Top 5 ordenado por Sepal.Ratio")
Top 5 ordenado por Sepal.Ratio
Sepal.Length Sepal.Width Petal.Length Petal.Width Species Sepal.Ratio LargeSepal
7.7 2.6 6.9 2.3 virginica 2.961539 Yes
6.2 2.2 4.5 1.5 versicolor 2.818182 Yes
7.7 2.8 6.7 2.0 virginica 2.750000 Yes
6.3 2.3 4.4 1.3 versicolor 2.739130 Yes
6.0 2.2 4.0 1.0 versicolor 2.727273 Yes
cat("\nNúmero de observações da espécie virgínica:\n")
## 
## Número de observações da espécie virgínica:
print(nrow(iris_virginica))
## [1] 50

3.Tabela interativa

Agora vou utilizar o pacote DT para apresentar uma tabela interativa contendo os dados do iris_mod que criei com a adição das colunas Sepal.Ratio e LargeSepal

DT::datatable(
  iris_mod,
  options = list(pageLength = 10, autoWidth = TRUE),
  filter = 'bottom',
  rownames = FALSE
)

3. Equações (LaTeX) e significados

Abaixo coloquei as 5 equações solicitadas, junto com suas devidas explicações usando LaTeX.

Equação Normal (Regressão linear)

\[ \hat{\beta} = (X^T X)^{-1} X^T y \]

Significado: estimador de mínimos quadrados ordinários para os coeficientes () em um modelo linear (y = X+ ). Aqui (X) é a matriz de preditores (incluindo coluna de 1s se houver intercepto) e (y) é o vetor de respostas.

Decomposição em valores próprios (PCA)

\[ \Sigma = V \Lambda V^T \]

Significado: matriz de covariância () é decomposta em autovalores (diagonal ()) e autovetores (colunas de (V)). Em PCA, os autovetores correspondem às direções principais e os autovalores quantificam a variância explicada.

Função logística (probabilidade no logistic regression)

\[ P(y=1|x) = \sigma(x^T \beta) = \frac{1}{1 + e^{-x^T \beta}} \] Significado: mapeia a combinação linear dos preditores (x^T) para uma probabilidade entre 0 e 1; usada em regressão logística para classificação binária.

Variância amostral (matemática estatística)

\[ S^2 = \frac{1}{n-1} \sum_{i=1}^n (x_i - \bar{x})^2 \] Significado: estimador amostral da variância populacional, onde ({x}) é a média amostral e usamos (n-1) no denominador para correção de Bessel.

Função primal SVM (hiperplano)

\[ f(x) = w^T x + b \] Significado: função de decisão linear em SVM; o sinal de (f(x)) determina a classe prevista. O SVM busca maximizar a margem entre classes encontrando (w) e (b) apropriados.

4. Figuras

5. Referências bibliográficas

AlDaajeh et al. (2022)

Afifya, Ahmed Z, Gauss M Cordeiro, Haitham M Yousof, Zohdy M Nofal, and Ayman Alzaatreh. 2016. “The Kumaraswamy Transmuted-g Family of Distributions: Properties and Applications.” Journal of Data Science 14 (2): 245–70.
AlDaajeh, Saleh, Heba Saleous, Saed Alrabaee, Ezedin Barka, Frank Breitinger, and Kim-Kwang Raymond Choo. 2022. “The Role of National Cybersecurity Strategies on the Improvement of Cybersecurity Education.” Computers & Security 119: 102754.
Barratt, Emma L, and Nick J Davis. 2015. “Autonomous Sensory Meridian Response (ASMR): A Flow-Like Mental State.” PeerJ 3: e851.
Bartz-Beielstein, Thomas, Jürgen Branke, Jörn Mehnen, and Olaf Mersmann. 2014. “Evolutionary Algorithms.” Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery 4 (3): 178–95.