Questão 1
clock <- c(0.1, 0.5, 1, 1.5, 2, 2.5, 3)
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)
layout(matrix(1:2, nrow=1))
plot(clock, MRT_1F, type="l", col="blue", lwd=2,
xlab="Clock", ylab="Valores MRT",
main="Gráfico de Linhas MRT")
lines(clock, MRT_3F, col="red", lwd=2)
lines(clock, MRT_5F, col="green", lwd=2)
legend("topright",
legend=c("MRT_1F", "MRT_3F", "MRT_5F"),
col=c("blue","red","green"), lwd=2)
barplot(MRT_1F, log="y", col=c("#E6E6E6","#666666"),
main="Gráfico de Barras (Escala Log)",
xlab="Índice", ylab="MRT_1F (log)")

Questão 2
dados <- matrix(c(53.8, 33.9, 2.6, 0.0,
43.6, 54.2, 60.5, 21.4,
2.6, 11.9, 36.8, 78.6),
nrow = 3, byrow = TRUE)
rownames(dados) <- c("Good", "Very Good", "Excellent")
colnames(dados) <- c("$10–19", "$20–29", "$30–39", "$40–49")
cores <- c("lightblue", "orange", "seagreen")
barplot(dados,
beside = FALSE,
col = cores,
main = "Qualidade da Refeição por Faixa de Preço",
xlab = "Faixa de Preço da Refeição",
ylab = "Percentual (%)",
legend.text = rownames(dados),
args.legend = list(x = "topright", bty = "n"))

Questão 3
data("airquality")
maio <- subset(airquality, Month == 5)
tempC <- (maio$Temp - 32) / 1.8
hist(tempC,
col = "lightblue",
main = "Temperaturas de Maio (°C)",
xlab = "Temperatura (°C)",
ylab = "Frequência",
probability = TRUE)
lines(density(tempC, na.rm = TRUE),
col = "red",
lwd = 2)

Questão 4
sales <- data.frame(
country = c("US", "UK", "France", "Poland", "Japan", "China"),
total = c(340, 290, 510, 820, 120, 780)
)
porcentagem <- round(100 * sales$total / sum(sales$total), 1)
rotulos <- paste(sales$country, "-", porcentagem, "%")
pie(sales$total,
labels = rotulos,
col = rainbow(length(sales$total)),
main = "Porcentagem de Vendas por País")
legend("topright",
legend = sales$country,
fill = rainbow(length(sales$total)),
title = "Países")

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

Questão 6
library(stringr)
processar_dados <- function(arquivo) {
df <- read.csv(arquivo, stringsAsFactors = FALSE)
df$currentTime <- as.POSIXct(df$currentTime)
df$time_hour <- as.numeric(difftime(df$currentTime, df$currentTime[1], units = "hours"))
df$usedMemory <- str_trim(df$usedMemory)
valores <- as.numeric(str_extract(df$usedMemory, "[0-9.]+"))
unidade <- str_extract(df$usedMemory, "[A-Za-z]+")
df$usedMemoryMB <- ifelse(unidade == "TB", valores * 1000000,
ifelse(unidade == "GB", valores * 1024, valores))
return(df)
}
none <- processar_dados("monitoringCloudData_NONE.csv")
w01 <- processar_dados("monitoringCloudData_0.1.csv")
w05 <- processar_dados("monitoringCloudData_0.5.csv")
w1 <- processar_dados("monitoringCloudData_1.csv")
layout(matrix(1:4, nrow = 2, byrow = TRUE))
plot(none$time_hour, none$usedMemoryMB, type="l", xlab="Time (hour)", ylab="Used Memory (MB)",
main="Memory Analysis (None Workload)")
plot(w01$time_hour, w01$usedMemoryMB, type="l", xlab="Time (hour)", ylab="Used Memory (MB)",
main="Memory Analysis (Workload of 0.1)")
plot(w05$time_hour, w05$usedMemoryMB, type="l", xlab="Time (hour)", ylab="Used Memory (MB)",
main="Memory Analysis (Workload of 0.5)")
plot(w1$time_hour, w1$usedMemoryMB, type="l", xlab="Time (hour)", ylab="Used Memory (MB)",
main="Memory Analysis (Workload of 1.0)")

Questão 7
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
library(plotly)
## Warning: pacote 'plotly' foi compilado no R versão 4.5.2
## 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
netflix <- read.csv(
"netflix_titles.csv",
stringsAsFactors = FALSE,
na.strings = c("", "NA", "NULL"),
fileEncoding = "UTF-8",
strip.white = TRUE
)
dados_filtrados <- netflix %>%
filter(!is.na(country) & !grepl(",", country))
top10 <- dados_filtrados %>%
count(country, sort = TRUE) %>%
top_n(10, n)
fig <- plot_ly(
top10,
labels = ~country,
values = ~n,
type = 'pie',
textinfo = 'label+percent',
insidetextorientation = 'radial'
) %>%
layout(title = "Top 10 Países com Mais Conteúdos na Netflix")
fig
Questão 8
library(plotly)
library(dplyr)
netflix <- read.csv(
"netflix_titles.csv",
stringsAsFactors = FALSE,
na.strings = c("", "NA", "NULL"),
fileEncoding = "UTF-8",
strip.white = TRUE
)
netflix[] <- lapply(netflix, function(x) {
if (is.character(x)) {
x <- iconv(x, from = "", to = "UTF-8", sub = "")
gsub("\n", " ", x, fixed = TRUE)
} else x
})
top10 <- netflix %>%
filter(!is.na(country) & !grepl(",", country)) %>%
count(country, sort = TRUE) %>%
top_n(10, n)
fig <- plot_ly(
type = 'table',
header = list(
values = c("País", "Total de Conteúdos"),
fill = list(color = "#666666"),
font = list(color = "white", size = 14),
align = "center"
),
cells = list(
values = list(top10$country, top10$n),
align = "center"
)
)
fig
Questão 9
library(dplyr)
library(plotly)
netflix <- read.csv(
"netflix_titles.csv",
stringsAsFactors = FALSE,
na.strings = c("", "NA", "NULL"),
fileEncoding = "UTF-8",
strip.white = TRUE
)
netflix[] <- lapply(netflix, function(x) {
if (is.character(x)) {
x <- iconv(x, from = "", to = "UTF-8", sub = "")
gsub("\n", " ", x, fixed = TRUE)
} else x
})
netflix <- netflix %>%
filter(!is.na(release_year)) %>%
mutate(decada = floor(release_year / 10) * 10)
dados_decada <- netflix %>%
group_by(decada, type) %>%
summarise(total = n(), .groups = "drop") %>%
arrange(decada)
dados_decada <- dados_decada %>%
arrange(decada)
series <- subset(dados_decada, type == "TV Show")
filmes <- subset(dados_decada, type == "Movie")
fig <- plot_ly() %>%
add_trace(x = series$decada, y = series$total, type = 'scatter', mode = 'lines+markers',
name = "TV Series", line = list(color = "blue", width = 2)) %>%
add_trace(x = filmes$decada, y = filmes$total, type = 'scatter', mode = 'lines+markers',
name = "Movies", line = list(color = "yellow", width = 2)) %>%
layout(title = "Quantidade de Conteúdos por Década na Netflix",
xaxis = list(title = "Década"),
yaxis = list(title = "Qtd. de Conteúdos"),
legend = list(title = list(text = "Tipo de Conteúdo")))
fig
Questão 10
library(dplyr)
library(plotly)
netflix <- read.csv(
"netflix_titles.csv",
stringsAsFactors = FALSE,
na.strings = c("", "NA", "NULL"),
fileEncoding = "UTF-8",
strip.white = TRUE
)
netflix[] <- lapply(netflix, function(x) {
if (is.character(x)) {
x <- iconv(x, from = "", to = "UTF-8", sub = "")
gsub("\n", " ", x, fixed = TRUE)
} else x
})
dados_filmes <- netflix %>%
filter(type == "Movie",
release_year >= 2000,
release_year <= 2010,
!is.na(listed_in))
dados_filmes$genero_principal <- sapply(strsplit(dados_filmes$listed_in, ","), `[`, 1)
dados_filmes$genero_principal <- trimws(dados_filmes$genero_principal)
dados_filmes <- dados_filmes %>%
filter(genero_principal %in% c("Dramas", "Action & Adventure", "Comedies"))
dados_contagem <- dados_filmes %>%
group_by(release_year, genero_principal) %>%
summarise(qtd = n(), .groups = "drop") %>%
arrange(release_year)
fig <- plot_ly(dados_contagem,
x = ~release_year,
y = ~qtd,
color = ~genero_principal,
type = "bar") %>%
layout(title = "Filmes por Gênero (2000–2010)",
xaxis = list(title = "Ano de Lançamento"),
yaxis = list(title = "Quantidade de Filmes"),
barmode = "group",
legend = list(title = list(text = "Gênero")))
fig