Questões
VADeaths - Questão 1
VADeaths
## Rural Male Rural Female Urban Male Urban Female
## 50-54 11.7 8.7 15.4 8.4
## 55-59 18.1 11.7 24.3 13.6
## 60-64 26.9 20.3 37.0 19.3
## 65-69 41.0 30.9 54.6 35.1
## 70-74 66.0 54.3 71.1 50.0
cores <- c(
"steelblue",
"tomato",
"seagreen3",
"gold",
"orchid"
)
barplot(
VADeaths,
beside = TRUE,
col = cores,
main = "Taxas de Mortalidade por Faixa Etária e Grupo Populacional",
xlab = "Grupo populacional",
ylab = "Taxa de mortalidade",
legend.text = rownames(VADeaths),
args.legend = list(
title = "Faixa etária",
x = "topright",
bty = "n"
)
)

ClassificaçãoDoença - Questão 2
# Dados dos 20 pacientes
estagios <- c(
"moderado", "leve", "leve", "severo", "leve",
"moderado", "moderado", "moderado", "leve", "leve",
"severo", "leve", "moderado", "moderado", "leve",
"severo", "moderado", "moderado", "moderado", "leve"
)
# Contagem dos estágios
frequencias <- table(
factor(estagios, levels = c("leve", "moderado", "severo"))
)
# Porcentagens
porcentagens <- 100 * frequencias / sum(frequencias)
# Cores das categorias
cores <- c("#66C2A5", "#FC8D62", "#8DA0CB")
# Rótulos com porcentagens
rotulos <- paste0(
names(frequencias), "\n",
round(porcentagens, 1), "%"
)
# Separar área do gráfico e da legenda
layout(matrix(c(1, 2), nrow = 1), widths = c(3, 1))
# Gráfico de pizza tradicional
pie(
frequencias,
labels = rotulos,
col = cores,
main = "Classificação da Doença",
border = "white",
clockwise = TRUE
)
# Legenda
plot.new()
legend(
"center",
legend = paste0(
names(frequencias), " (",
round(porcentagens, 1), "%)"
),
fill = cores,
title = "Estágios",
bty = "n"
)

layout(1)
USArrests - Questão 3
library(plotly)
# 1. Carregar o dataset
dados <- USArrests
# 2. Criar a coluna City com os nomes dos estados
dados$City <- rownames(dados)
# 3. Ordenar de forma decrescente por Murder
dados <- dados[order(dados$Murder, decreasing = TRUE), ]
# 4. Selecionar os cinco primeiros estados
top5 <- head(dados, 5)
# 5. Construir o gráfico de barras agrupadas com Plotly
grafico <- plot_ly(
data = top5,
x = ~City
) %>%
add_bars(
y = ~Murder,
name = "Murder",
marker = list(color = "#E74C3C")
) %>%
add_bars(
y = ~Rape,
name = "Rape",
marker = list(color = "#3498DB")
) %>%
add_bars(
y = ~Assault,
name = "Assault",
marker = list(color = "#2ECC71")
) %>%
layout(
title = list(
text = "Top 5 Estados Mais Violentos - USArrests"
),
xaxis = list(title = "Estados"),
yaxis = list(title = "Taxa de prisões por 100 mil habitantes"),
barmode = "group",
legend = list(
title = list(text = "Tipos de crime")
)
)
grafico
Orange - Questão 4
library(plotly)
# 1. Carregar o dataset
dados_orange <- datasets::Orange
# 2. Identificar as cinco árvores
dados_orange$Arvore <- factor(
paste("Árvore", dados_orange$Tree),
levels = paste("Árvore", 1:5)
)
# 3. Ordenar por árvore e idade
dados_orange <- dados_orange[
order(dados_orange$Arvore, dados_orange$age),
]
# 4. Criar o texto personalizado do tooltip
dados_orange$tooltip <- paste0(
dados_orange$Arvore,
" — idade: ", dados_orange$age,
" dias — circ.: ", dados_orange$circumference,
" mm"
)
# 5. Criar o gráfico interativo
grafico_orange <- plot_ly(
data = dados_orange,
x = ~age,
y = ~circumference,
color = ~Arvore,
colors = c(
"#E74C3C",
"#3498DB",
"#2ECC71",
"#9B59B6",
"#F39C12"
),
type = "scatter",
mode = "lines+markers",
text = ~tooltip,
hoverinfo = "text"
) %>%
layout(
title = list(
text = "Crescimento das Laranjeiras"
),
xaxis = list(
title = "Idade (dias)"
),
yaxis = list(
title = "Circunferência (mm)"
),
legend = list(
title = list(text = "Laranjeiras")
)
)
grafico_orange