Questões

VADeaths

# Visualização do dataset
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 para os grupos
cores <- c("lightblue", "lightgreen", "orange", "tomato", "purple")

# Gráfico de barras agrupadas com gráficos tradicionais do R
barplot(
  VADeaths,
  beside = TRUE,
  col = cores,
  main = "Taxas de Mortalidade na Virgínia",
  xlab = "Categorias",
  ylab = "Taxa de mortalidade",
  ylim = c(0, max(VADeaths) + 15),
  legend.text = rownames(VADeaths),
  args.legend = list(
    title = "Faixa etária",
    x = "topright",
    bty = "n",
    cex = 0.8
  )
)

ClassificaçãoDoença

# Dados dos pacientes
doenca <- c(
  "moderado", "leve", "leve", "severo", "leve",
  "moderado", "moderado", "moderado", "leve", "leve",
  "severo", "leve", "moderado", "moderado", "leve",
  "severo", "moderado", "moderado", "moderado", "leve"
)

# Frequência dos estágios
freq <- table(doenca)

# Porcentagem de cada estágio
porcentagem <- round(100 * freq / sum(freq), 1)

# Rótulos da legenda
rotulos <- paste0(names(freq), " - ", porcentagem, "%")

# Cores das fatias
cores_pizza <- c("lightgreen", "orange", "tomato")

# Gráfico de pizza tradicional
pie(
  freq,
  labels = paste0(porcentagem, "%"),
  col = cores_pizza,
  main = "Classificação dos Estágios da Doença"
)

# Legenda
legend(
  "topright",
  legend = rotulos,
  fill = cores_pizza,
  title = "Estágio",
  bty = "n"
)

USArrests

# Preparação dos dados
usarrests <- USArrests

# Adicionando a coluna City com os nomes dos estados
usarrests$City <- rownames(usarrests)

# Ordenando por Murder em ordem decrescente e selecionando os 5 primeiros
top5_violent <- usarrests |>
  arrange(desc(Murder)) |>
  slice(1:5)

# Fixando a ordem dos estados no eixo X
top5_violent$City <- factor(
  top5_violent$City,
  levels = top5_violent$City
)

top5_violent
##                Murder Assault UrbanPop Rape           City
## Georgia          17.4     211       60 25.8        Georgia
## Mississippi      16.1     259       44 17.1    Mississippi
## Florida          15.4     335       80 31.9        Florida
## Louisiana        15.4     249       66 22.2      Louisiana
## South Carolina   14.4     279       48 22.5 South Carolina
# Gráfico de barras agrupadas com Plotly
plot_ly(
  data = top5_violent,
  x = ~City,
  width = 900,
  height = 350
) |>
  add_bars(
    y = ~Murder,
    name = "Murder",
    marker = list(color = "#4472C4")
  ) |>
  add_bars(
    y = ~Rape,
    name = "Rape",
    marker = list(color = "#ED7D31")
  ) |>
  add_bars(
    y = ~Assault,
    name = "Assault",
    marker = list(color = "#5B9D43")
  ) |>
  layout(
    title = list(
      text = "5 estados mais violentos (EUA, 1973)",
      x = 0.5
    ),
    xaxis = list(
      title = "Estado",
      tickangle = 0,
      showline = TRUE,
      linecolor = "gray",
      categoryorder = "array",
      categoryarray = levels(top5_violent$City)
    ),
    yaxis = list(
      title = "Ocorrências",
      range = c(0, 360),
      tickvals = c(0, 100, 200, 300),
      showgrid = TRUE,
      gridcolor = "#E6E6E6",
      zeroline = FALSE
    ),
    barmode = "group",
    legend = list(
      x = 1.02,
      y = 1
    ),
    plot_bgcolor = "white",
    paper_bgcolor = "white",
    margin = list(r = 120)
  )

Orange

# Visualização do dataset Orange
Orange
##    Tree  age circumference
## 1     1  118            30
## 2     1  484            58
## 3     1  664            87
## 4     1 1004           115
## 5     1 1231           120
## 6     1 1372           142
## 7     1 1582           145
## 8     2  118            33
## 9     2  484            69
## 10    2  664           111
## 11    2 1004           156
## 12    2 1231           172
## 13    2 1372           203
## 14    2 1582           203
## 15    3  118            30
## 16    3  484            51
## 17    3  664            75
## 18    3 1004           108
## 19    3 1231           115
## 20    3 1372           139
## 21    3 1582           140
## 22    4  118            32
## 23    4  484            62
## 24    4  664           112
## 25    4 1004           167
## 26    4 1231           179
## 27    4 1372           209
## 28    4 1582           214
## 29    5  118            30
## 30    5  484            49
## 31    5  664            81
## 32    5 1004           125
## 33    5 1231           142
## 34    5 1372           174
## 35    5 1582           177
# Preparação dos dados para tooltip
orange_data <- Orange |>
  mutate(
    tooltip = paste0(
      "Árvore ", Tree,
      " — idade: ", age, " dias",
      " — circ.: ", circumference, " mm"
    )
  )

# Gráfico de linha com Plotly
plot_ly(
  data = orange_data,
  x = ~age,
  y = ~circumference,
  color = ~Tree,
  type = "scatter",
  mode = "lines+markers",
  text = ~tooltip,
  hoverinfo = "text"
) |>
  layout(
    title = "Crescimento das Laranjeiras",
    xaxis = list(title = "Idade (dias)"),
    yaxis = list(title = "Circunferência (mm)"),
    legend = list(
      title = list(text = "Laranjeira")
    )
  )