Questão 1: Gráfico de
Linhas e Barras
MRT_1F <- c(517.15, 85.13, 30.33, 12.69, 3.30, 1.18, 1.19)
MRT_3F <- c(156.69, 11.54, 0.45, 0.45, 0.45, 0.45, 0.45)
MRT_5F <- c(83.90, 0.31, 0.31, 0.31, 0.31, 0.31, 0.31)
MRT_10F <- c(29.55, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20)
MRT_15F <- c(11.32, 0.17, 0.16, 0.17, 0.16, 0.16, 0.16)
MRT_sem_F <- c(11.93, 0.61, 0.61, 0.61, 0.61, 0.61, 0.61)
clock <- c(0.1, 0.5, 1, 1.5, 2, 2.5, 3)
dados <- data.frame(clock, MRT_1F, MRT_3F, MRT_5F, MRT_10F, MRT_15F, MRT_sem_F)
matplot(dados$clock, dados[, -1], type = "l", lty = 1, col = c("black", "gray", "red", "green", "blue", "purple"),
xlab = "Clock", ylab = "MRT", main = "MRT por Clock")
legend("topright", legend = colnames(dados)[-1],
col = c("black", "gray", "red", "green", "blue", "purple"), lty = 1)

barplot(MRT_1F, log = "y", col = "lightblue", main = "MRT_1F (Escala Log)", ylab = "MRT", names.arg = clock)

Questão 2: Gráfico de
Barras Empilhadas
qualidade_refeicao <- data.frame(
Preco = c("Baixo", "Médio", "Alto"),
Ruim = c(10, 20, 5),
Regular = c(20, 30, 10),
Bom = c(30, 40, 20),
Excelente = c(40, 50, 25)
)
df_long <- pivot_longer(qualidade_refeicao, cols = -Preco, names_to = "Qualidade", values_to = "Quantidade")
ggplot(df_long, aes(x = Preco, y = Quantidade, fill = Qualidade)) +
geom_bar(stat = "identity") +
labs(title = "Qualidade da Refeição por Preço", x = "Preço", y = "Quantidade") +
theme_minimal()

Questão 3: Histograma
Temperatura em Celsius
data("airquality")
airquality <- mutate(airquality, Temp_C = (Temp - 32) / 1.8)
ggplot(airquality, aes(x = Temp_C)) +
geom_histogram(bins = 10, fill = "steelblue", color = "black") +
geom_density(aes(y = ..count..), linetype = "dashed", color = "red") +
labs(title = "Temperaturas em Celsius", x = "°C", y = "Frequência") +
theme_minimal()
## Warning: The dot-dot notation (`..count..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(count)` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

Questão 4: Gráfico de
Pizza - Vendas por País
sales <- read.table("https://training-course-material.com/images/8/8f/Sales.txt", header = TRUE)
# Filtrar apenas valores positivos
sales_pos <- sales[sales$Sales > 0, ]
# Verificar se há dados válidos para o gráfico
if (nrow(sales_pos) > 0) {
pie(sales_pos$Sales,
labels = paste0(sales_pos$Country, " (", round(prop.table(sales_pos$Sales) * 100, 1), "%)"),
main = "Porcentagem de Vendas por País",
col = rainbow(nrow(sales_pos)))
legend("bottomleft", legend = sales_pos$Country, fill = rainbow(nrow(sales_pos)))
} else {
cat("Não há dados positivos suficientes para gerar o gráfico de pizza.")
}
## Não há dados positivos suficientes para gerar o gráfico de pizza.
Questão 5: Boxplot
Inseticidas
data("InsectSprays")
boxplot(count ~ spray, data = InsectSprays, col = "orange",
main = "Inseticida vs Contagem de Insetos",
xlab = "Inseticida", ylab = "Contagem", outline = FALSE)

Questão 6: Gráficos de
Memória Usada
processar_dados <- function(arquivo) {
tryCatch({
dados <- read.csv(arquivo)
dados$currentTime <- as.POSIXct(dados$currentTime, format = "%Y-%m-%d %H:%M:%S")
dados$usedMemory <- gsub("[^0-9.]", "", dados$usedMemory)
dados$usedMemory <- as.numeric(dados$usedMemory)
return(dados)
}, error = function(e) {
message(paste("Erro ao carregar:", arquivo))
return(NULL)
})
}
# URL base corrigida (branch main)
url_base <- "https://raw.githubusercontent.com/ianlucasalmeida/Meu_RCurso/main/monitoringCloudData/"
# Leitura dos arquivos
d1 <- processar_dados(paste0(url_base, "monitoringCloudData_0.1.csv"))
d2 <- processar_dados(paste0(url_base, "monitoringCloudData_0.5.csv"))
d3 <- processar_dados(paste0(url_base, "monitoringCloudData_1.csv"))
d4 <- processar_dados(paste0(url_base, "monitoringCloudData_NONE.csv"))
# Verifica se os dados foram carregados antes de plotar
if (all(!is.null(d1), !is.null(d2), !is.null(d3), !is.null(d4))) {
layout(matrix(1:4, ncol = 2))
plot(d1$currentTime, d1$usedMemory, type = "l", main = "0.1", xlab = "Tempo", ylab = "Memória (MB)")
plot(d2$currentTime, d2$usedMemory, type = "l", main = "0.5", xlab = "Tempo", ylab = "Memória (MB)")
plot(d3$currentTime, d3$usedMemory, type = "l", main = "1", xlab = "Tempo", ylab = "Memória (MB)")
plot(d4$currentTime, d4$usedMemory, type = "l", main = "NONE", xlab = "Tempo", ylab = "Memória (MB)")
} else {
message("Alguns dados não foram carregados corretamente. Verifique os links.")
}

Questão 10: Filmes por
Gênero entre 2000 e 2010
filmes_genero <- netflix %>%
filter(type == "Movie", release_year >= 2000, release_year <= 2010) %>%
separate_rows(listed_in, sep = ",") %>%
mutate(listed_in = trimws(listed_in)) %>%
filter(listed_in %in% c("Dramas", "Action & Adventure", "Comedies")) %>%
group_by(release_year, listed_in) %>%
summarise(total = n(), .groups = "drop")
plot_ly(filmes_genero, x = ~release_year, y = ~total, color = ~listed_in, type = "bar") %>%
layout(title = "Filmes por Gênero entre 2000 e 2010",
barmode = "group",
xaxis = list(title = "Ano"),
yaxis = list(title = "Quantidade"))