Exercício 12

Abaixo estão as abas referente a cada questão do exercicío 12

Questão 1

Gerar grafico de linhas

symbols <- c(4, 2, 1, 2, 5, 4)

# plot do grafico
plot(clock, MRT_1F, type = "o", col = "black", pch = symbols[1], lty = 1, ylim = c(0, max(MRT_1F)),
     xlab = "Time between Things requests (seconds)",
     ylab = "Response Time (sec.)")

# Adicionando as demais séries com lines()
lines(clock, MRT_3F,  type = "o", col = "gold",   pch = symbols[2], lty = 1)
lines(clock, MRT_5F,  type = "o", col = "red",    pch = symbols[3], lty = 1)
lines(clock, MRT_10F, type = "o", col = "blue",   pch = symbols[4], lty = 1)
lines(clock, MRT_15F, type = "o", col = "purple", pch = symbols[5], lty = 1)
lines(clock, MRT_sem_F, type = "o", col = "green",  pch = symbols[6], lty = 1)

# Adicao da legenda
legend("topright",
       legend = c("1 Fog", "3 Fogs", "5 Fogs", "10 Fogs", "15 Fogs", "w/o Fog"),
       col = c("black", "gold", "red", "blue", "purple", "green"),
       pch = symbols,
       lty = 1)

# Organizar os dados em matriz: cada linha será uma série
dados <- rbind(MRT_sem_F, MRT_1F)

# Nomear colunas com os tempos
colnames(dados) <- as.character(clock)

# Criar gráfico de barras
barplot(dados,
        beside = TRUE,                  # Barras lado a lado
        log = "y",                      # Escala log no eixo Y
        col = c("lightgray", "darkgray"),
        names.arg = clock,            # Rótulos no eixo X
        xlab = "Time between Things requests",
        ylab = "Response time (s)",
        legend.text = c("w/o Fog", "1 Fog"),
        args.legend = list(x = "topright"))

# Organizar os dados em matriz: cada linha será uma série
dados <- rbind(MRT_sem_F, MRT_3F)

# Nomear colunas com os tempos
colnames(dados) <- as.character(clock)

# Criar gráfico de barras
barplot(dados,
        beside = TRUE,                  # Barras lado a lado
        log = "y",                      # Escala log no eixo Y
        col = c("lightgray", "darkgray"),
        names.arg = clock,            # Rótulos no eixo X
        xlab = "Time between Things requests",
        ylab = "Response time (s)",
        legend.text = c("w/o Fog", "3 Fogs"),
        args.legend = list(x = "topright"))

# Organizar os dados em matriz: cada linha será uma série
dados <- rbind(MRT_sem_F, MRT_5F)

# Nomear colunas com os tempos
colnames(dados) <- as.character(clock)

# Criar gráfico de barras
barplot(dados,
        beside = TRUE,                  # Barras lado a lado
        log = "y",                      # Escala log no eixo Y
        col = c("lightgray", "darkgray"),
        names.arg = clock,            # Rótulos no eixo X
        xlab = "Time between Things requests",
        ylab = "Response time (s)",
        legend.text = c("w/o Fog", "5 Fogs"),
        args.legend = list(x = "topright"))

# Organizar os dados em matriz: cada linha será uma série
dados <- rbind(MRT_sem_F, MRT_10F)

# Nomear colunas com os tempos
colnames(dados) <- as.character(clock)

# Criar gráfico de barras
barplot(dados,
        beside = TRUE,                  # Barras lado a lado
        log = "y",                      # Escala log no eixo Y
        col = c("lightgray", "darkgray"),
        names.arg = clock,            # Rótulos no eixo X
        xlab = "Time between Things requests",
        ylab = "Response time (s)",
        legend.text = c("w/o Fog", "10 Fogs"),
        args.legend = list(x = "topright"))

# Organizar os dados em matriz: cada linha será uma série
dados <- rbind(MRT_sem_F, MRT_15F)

# Nomear colunas com os tempos
colnames(dados) <- as.character(clock)

# Criar gráfico de barras
barplot(dados,
        beside = TRUE,                  # Barras lado a lado
        log = "y",                      # Escala log no eixo Y
        col = c("lightgray", "darkgray"),
        names.arg = clock,            # Rótulos no eixo X
        xlab = "Time between Things requests",
        ylab = "Response time (s)",
        legend.text = c("w/o Fog", "15 Fogs"),
        args.legend = list(x = "topright"))

Questão 2

# Criar a matriz com os dados percentuais
dados <- matrix(c(
  53.8, 33.9, 2.6, 0.0,      # Good
  43.6, 54.2, 60.5, 21.4,    # Very Good
  2.6,  11.9, 36.8, 78.6     # Excellent
), 
nrow = 3, byrow = TRUE)

# Nomear linhas e colunas
rownames(dados) <- c("Good", "Very Good", "Excellent")
colnames(dados) <- c("$10–19", "$20–29", "$30–39", "$40–49")

# Definir cores
cores <- c("lightblue", "steelblue", "darkblue")

# Criar o gráfico de barras empilhadas
barplot(dados,
        col = cores,
        beside = TRUE,
        legend.text = TRUE,
        args.legend = list(x = "topleft", title = "Avaliação"),
        xlab = "Preço da refeição",
        ylab = "Porcentagem (%)",
        main = "Avaliação da qualidade da comida por intervalo de preços")

# legend('topleft', pch=c(15, 15, 15), col = cores, legend = )

# Adicionar borda às barras
box()

Questão 3

## [1] "Histograma das temperaturas do mes de maio do dataset airquality"
airquality$Temp.Celsius <- (airquality$Temp - 32) / 1.8

result <- airquality[airquality$Month == 5,]

Temperature <- result$Temp.Celsius

hist(Temperature, 
     col='grey',
     main = 'Histograma das temperaturas',
     xlab = 'Temperaturas (Celsius)',
     ylab = 'Densidade',
     probability = T)

densityTemp <- density(Temperature)

lines(densityTemp)

Questão 4

# Carregar os dados
sales <- read.table("https://training-course-material.com/images/8/8f/Sales.txt", header = TRUE)

print(sales)
##   COUNTRY SALES
## 1      US   340
## 2      UK   290
## 3  France   510
## 4  Poland   820
## 5   Japan   120
## 6   China   780
x <- sales$SALES

labels <- sales$COUNTRY

pct <- round(x/sum(x)*100)

lbls <- paste(pct, "%", sep="")

pie(x, labels = lbls, main = "Gráfico de vendas por país", col = rainbow(length(sales$COUNTRY)))

legend("topright",
       legend = c(labels),
       cex = 0.8, fill = rainbow(length(sales$COUNTRY)))

Questão 5

# Carregar o dataset
data(InsectSprays)

# Criar boxplot sem outliers, com caixas amarelas
boxplot(count ~ spray, 
        data = InsectSprays, 
        outline = FALSE,            # remove os outliers
        col = "yellow",             # cor das caixas
        main = "Contagem de Insetos por Tipo de Inseticida",  # título
        xlab = "Tipo de Inseticida",                          # eixo X
        ylab = "Contagem de Insetos")                         # eixo Y

Questão 7

## Instalando pacote em 'C:/Users/andre/AppData/Local/R/win-library/4.4'
## (como 'lib' não foi especificado)
## pacote 'plotly' desempacotado com sucesso e somas MD5 verificadas
## 
## Os pacotes binários baixados estão em
##  C:\Users\andre\AppData\Local\Temp\Rtmp40xzr7\downloaded_packages
## Instalando pacote em 'C:/Users/andre/AppData/Local/R/win-library/4.4'
## (como 'lib' não foi especificado)
## pacote 'dplyr' desempacotado com sucesso e somas MD5 verificadas
## 
## Os pacotes binários baixados estão em
##  C:\Users\andre\AppData\Local\Temp\Rtmp40xzr7\downloaded_packages
## Instalando pacote em 'C:/Users/andre/AppData/Local/R/win-library/4.4'
## (como 'lib' não foi especificado)
## pacote 'readr' desempacotado com sucesso e somas MD5 verificadas
## 
## Os pacotes binários baixados estão em
##  C:\Users\andre\AppData\Local\Temp\Rtmp40xzr7\downloaded_packages
## Carregando pacotes exigidos: ggplot2
## 
## Anexando pacote: 'plotly'
## O seguinte objeto é mascarado por 'package:ggplot2':
## 
##     last_plot
## O seguinte objeto é mascarado por 'package:stats':
## 
##     filter
## O seguinte objeto é mascarado por 'package:graphics':
## 
##     layout
## 
## Anexando pacote: 'dplyr'
## Os seguintes objetos são mascarados por 'package:stats':
## 
##     filter, lag
## Os seguintes objetos são mascarados por 'package:base':
## 
##     intersect, setdiff, setequal, union
## 'data.frame':    7787 obs. of  12 variables:
##  $ show_id     : chr  "s1" "s2" "s3" "s4" ...
##  $ type        : chr  "TV Show" "Movie" "Movie" "Movie" ...
##  $ title       : chr  "3%" "7:19" "23:59" "9" ...
##  $ director    : chr  "" "Jorge Michel Grau" "Gilbert Chan" "Shane Acker" ...
##  $ cast        : chr  "João Miguel, Bianca Comparato, Michel Gomes, Rodolfo Valente, Vaneza Oliveira, Rafael Lozano, Viviane Porto, Me"| __truncated__ "Demián Bichir, Héctor Bonilla, Oscar Serrano, Azalia Ortiz, Octavio Michel, Carmen Beato" "Tedd Chan, Stella Chung, Henley Hii, Lawrence Koh, Tommy Kuan, Josh Lai, Mark Lee, Susan Leong, Benjamin Lim" "Elijah Wood, John C. Reilly, Jennifer Connelly, Christopher Plummer, Crispin Glover, Martin Landau, Fred Tatasc"| __truncated__ ...
##  $ country     : chr  "Brazil" "Mexico" "Singapore" "United States" ...
##  $ date_added  : chr  "August 14, 2020" "December 23, 2016" "December 20, 2018" "November 16, 2017" ...
##  $ release_year: int  2020 2016 2011 2009 2008 2016 2019 1997 2019 2008 ...
##  $ rating      : chr  "TV-MA" "TV-MA" "R" "PG-13" ...
##  $ duration    : chr  "4 Seasons" "93 min" "78 min" "80 min" ...
##  $ listed_in   : chr  "International TV Shows, TV Dramas, TV Sci-Fi & Fantasy" "Dramas, International Movies" "Horror Movies, International Movies" "Action & Adventure, Independent Movies, Sci-Fi & Fantasy" ...
##  $ description : chr  "In a future where the elite inhabit an island paradise far from the crowded slums, you get one chance to join t"| __truncated__ "After a devastating earthquake hits Mexico City, trapped survivors from all walks of life wait to be rescued wh"| __truncated__ "When an army recruit is found dead, his fellow soldiers are forced to confront a terrifying secret that's haunt"| __truncated__ "In a postapocalyptic world, rag-doll robots hide in fear from dangerous machines out to exterminate them, until"| __truncated__ ...
## # A tibble: 10 × 2
##    country          total
##    <chr>            <int>
##  1 "United States"   2555
##  2 "India"            923
##  3 ""                 507
##  4 "United Kingdom"   397
##  5 "Japan"            226
##  6 "South Korea"      183
##  7 "Canada"           177
##  8 "Spain"            134
##  9 "France"           115
## 10 "Egypt"            101