Exercícios
Questão 1
MRT_1F <- c(517.1468515630205, 85.13094142168089, 30.333207896694553,
12.694776264558937, 3.3041601673945418, 1.1823111717498882,
1.1892293502386786)
MRT_3F <- c(156.68929936163462, 11.540837783562276, 0.4512835621696538,
0.4509797929766453, 0.4502068233039181, 0.4496185276300172,
0.4543157082191288)
MRT_5F <- c(83.90319666471157, 0.3068151086494968, 0.30522314133037304,
0.3072588968084928, 0.30655265997285697, 0.3055812715727718,
0.3053297166713006)
MRT_10F <- c(29.55430642951759, 0.19832832665772515, 0.1971923924717474,
0.19796648905716516, 0.19615594370806338, 0.2034569237883263,
0.19617420889447737)
MRT_15F <- c(11.317736530583566, 0.167364215666193,
0.16172168266811013, 0.16701085329580515,
0.1598052657153692, 0.1645934043532696,
0.16216563797118075)
MRT_sem_F <- c(11.93430909937736, 0.6095414637034009,
0.6060645101029295, 0.612167181646899,
0.6146761002685637, 0.6096747087200697,
0.6125810476877268)
clock <- c(0.1, 0.5, 1, 1.5, 2, 2.5, 3)
layout(matrix(c(1,2), nrow = 1))
plot(clock, MRT_1F,
type = "o",
col = "blue",
pch = 16,
xlab = "Clock",
ylab = "MRT",
main = "Gráfico de Linhas")
lines(clock, MRT_3F, type = "o", col = "red", pch = 16)
lines(clock, MRT_5F, type = "o", col = "green", pch = 16)
lines(clock, MRT_10F, type = "o", col = "purple", pch = 16)
lines(clock, MRT_15F, type = "o", col = "orange", pch = 16)
lines(clock, MRT_sem_F, type = "o", col = "black", pch = 16)
legend("topright",
legend = c("1F", "3F", "5F", "10F", "15F", "Sem F"),
col = c("blue", "red", "green", "purple", "orange", "black"),
lty = 1,
pch = 16)
barplot(MRT_1F,
log = "y",
col = c("#E6E6E6", "#666666"),
main = "Gráfico de Barras",
xlab = "Posição",
ylab = "Valores")

Questão 2
dados <- matrix(c(10,20,30,
15,25,35),
nrow = 2,
byrow = TRUE)
colnames(dados) <- c("Baixo", "Médio", "Alto")
rownames(dados) <- c("Ruim", "Boa")
barplot(dados,
beside = FALSE,
col = c("lightblue", "orange"),
main = "Qualidade da Refeição",
xlab = "Categoria de Preço",
ylab = "Quantidade")
legend("topright",
legend = rownames(dados),
fill = c("lightblue", "orange"))

Questão 3
data(airquality)
TempC <- (airquality$Temp - 32) / 1.8
hist(TempC,
probability = TRUE,
col = "lightblue",
main = "Histograma das Temperaturas",
xlab = "Temperatura (°C)",
ylab = "Densidade")
lines(density(TempC, na.rm = TRUE),
col = "red",
lwd = 2)

Questão 4
sales <- read.table(
"https://training-course-material.com/images/8/8f/Sales.txt",
header = TRUE)
porcentagem <- round(sales$SALES / sum(sales$SALES) * 100, 2)
rotulos <- paste(sales$COUNTRY,
porcentagem,
"%")
cores <- rainbow(nrow(sales))
pie(sales$SALES,
labels = rotulos,
col = cores,
main = "Total de Vendas por País")
legend("topright",
legend = sales$COUNTRY,
fill = cores)

Questão 5
data(InsectSprays)
boxplot(count ~ spray,
data = InsectSprays,
outline = FALSE,
col = "yellow",
main = "Inseticidas x Contagem de Insetos",
xlab = "Tipo de Inseticida",
ylab = "Quantidade de Insetos")

Questão 6
cloud01 <- read.csv("monitoringCloudData_0.1.csv")
cloud05 <- read.csv("monitoringCloudData_0.5.csv")
cloud1 <- read.csv("monitoringCloudData_1.csv")
cloudNone <- read.csv("monitoringCloudData_NONE.csv")
converterMB <- function(x){
valor <- as.numeric(gsub("[^0-9.]", "", x))
if(grepl("TB", x)){
valor <- valor * 1000000
}
else if(grepl("GB", x)){
valor <- valor * 1024
}
return(valor)
}
ajustarDados <- function(df){
df$currentTime <- as.POSIXct(df$currentTime)
df$tempoHoras <- c(0,
cumsum(as.numeric(diff(df$currentTime),
units = "hours")))
df$usedMemoryMB <- sapply(df$usedMemory,
converterMB)
return(df)
}
cloud01 <- ajustarDados(cloud01)
cloud05 <- ajustarDados(cloud05)
cloud1 <- ajustarDados(cloud1)
cloudNone <- ajustarDados(cloudNone)
layout(matrix(c(1,2,3,4), nrow = 2))
plot(cloud01$tempoHoras,
cloud01$usedMemoryMB,
type = "l",
col = "blue",
xlab = "Tempo (horas)",
ylab = "Memória (MB)",
main = "Cloud 0.1")
plot(cloud05$tempoHoras,
cloud05$usedMemoryMB,
type = "l",
col = "red",
xlab = "Tempo (horas)",
ylab = "Memória (MB)",
main = "Cloud 0.5")
plot(cloud1$tempoHoras,
cloud1$usedMemoryMB,
type = "l",
col = "green",
xlab = "Tempo (horas)",
ylab = "Memória (MB)",
main = "Cloud 1")
plot(cloudNone$tempoHoras,
cloudNone$usedMemoryMB,
type = "l",
col = "black",
xlab = "Tempo (horas)",
ylab = "Memória (MB)",
main = "Cloud NONE")

Questão 7
library(plotly)
## 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
library(dplyr)
##
## 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
netflix <- read.csv("netflix_titles.csv")
netflix_filtrado <- netflix %>%
filter(!grepl(",", country),
country != "")
top10 <- netflix_filtrado %>%
count(country) %>%
arrange(desc(n)) %>%
head(10)
plot_ly(top10,
labels = ~country,
values = ~n,
type = "pie")
Questão 8
plot_ly(
type = 'table',
header = list(
values = c('País', 'Total de conteúdos'),
fill = list(color = 'gray'),
font = list(color = 'white'),
align = 'center'
),
cells = list(
values = list(top10$country, top10$n),
align = 'center'
)
)
Questão 9
netflix$decada <- paste0(floor(netflix$release_year / 10) * 10, "s")
dados_decada <- netflix %>%
group_by(decada, type) %>%
summarise(total = n(), .groups = 'drop')
plot_ly(dados_decada,
x = ~decada,
y = ~total,
color = ~type,
colors = c("blue", "yellow"),
type = 'scatter',
mode = 'lines+markers')
Questão 10
filmes <- netflix %>%
filter(type == "Movie")
filmes$genero <- sapply(
strsplit(as.character(filmes$listed_in), ","),
`[`,
1
)
filmes$genero <- trimws(filmes$genero)
dados_genero <- filmes %>%
filter(release_year >= 2000 &
release_year <= 2010 &
genero %in% c("Dramas",
"Action & Adventure",
"Comedies")) %>%
group_by(release_year, genero) %>%
summarise(total = n(), .groups = 'drop')
plot_ly(dados_genero,
x = ~release_year,
y = ~total,
color = ~genero,
type = 'bar') %>%
layout(
barmode = 'group',
title = "Quantidade de Filmes por Gênero",
xaxis = list(title = "Ano"),
yaxis = list(title = "Quantidade")
)