2a VA - Disciplina Computação para Análise de Dados - 2025.2
Licenciatura em Computação
UFRPE
Estudante Lucas Henrique de Lima Silva
# 1. Preparação dos dados
dados_va <- as.data.frame(VADeaths) |>
tibble::rownames_to_column(var = "Faixa_Etaria") |>
pivot_longer(
cols = c("Rural Male", "Rural Female", "Urban Male", "Urban Female"),
names_to = "Tipo_Morte",
values_to = "Taxa"
)
dados_va$Tipo_Morte <- factor(dados_va$Tipo_Morte,
levels = c("Rural Male", "Rural Female", "Urban Male", "Urban Female"))
# 2. Criação do gráfico
grafico_final <- dados_va |>
ggplot(aes(x = Faixa_Etaria, y = Taxa, fill = Tipo_Morte)) +
geom_bar(stat = "identity", position = "dodge", color = "black") +
scale_fill_brewer(palette = "Set1") +
labs(
title = "Taxas de Mortalidade por Faixa Etária e Tipo de Morte",
x = "Faixa Etária (anos)",
y = "Taxa de Mortalidade (por 1000 habitantes)",
fill = "Tipo de População"
) +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
print(grafico_final)
# Dados fornecidos
dados_doenca <- c("moderado", "leve", "leve", "severo", "leve", "moderado",
"moderado", "moderado", "leve", "leve", "severo", "leve",
"moderado", "moderado", "leve", "severo", "moderado",
"moderado", "moderado", "leve")
# 1. Contar a frequência de cada estágio
frequencia <- table(dados_doenca)
# Garante que a ordem seja Leve, Moderado, Severo (para consistência)
frequencia <- frequencia[c("leve", "moderado", "severo")]
# 2. Calcular as porcentagens
porcentagens <- round(100 * frequencia / sum(frequencia), 1)
# 3. Criar os rótulos que incluirão as porcentagens
# Ex: "Leve (50.0%)"
rotulos_pizza <- paste0(names(frequencia), " (", porcentagens, "%)")
# 4. Definir as cores para as fatias
cores_fatias <- c("lightgreen", "gold", "firebrick") # Verde, Amarelo, Vermelho
# Criação do Gráfico de Pizza
pie(frequencia,
labels = rotulos_pizza,
col = cores_fatias,
main = "Distribuição dos Pacientes por Estágio da Doença",
cex = 0.8
)
legend("topright",
legend = names(frequencia), # Nomes: Leve, Moderado, Severo
fill = cores_fatias,
title = "Estágio",
cex = 0.8
)
library(ggplot2)
library(dplyr)
set.seed(42)
# Carregar o dataset
df_populacao <- read.csv("flu.csv")
# A coluna de interesse é 'age'
populacao_flu <- df_populacao$age
# --- (1) Histograma e Curva de Densidade da População Original ---
populacao_plot <- df_populacao |>
ggplot(aes(x = age)) +
geom_histogram(aes(y = after_stat(density)), binwidth = 1, fill = "lightblue", color = "black") +
geom_density(color = "red", linewidth = 1) +
labs(
title = "1. Distribuição da População Original (Não Normal)",
subtitle = paste("Média:", round(mean(populacao_flu), 2), "| Desvio Padrão:", round(sd(populacao_flu), 2)),
x = "Idade da Morte",
y = "Densidade"
) +
theme_minimal()
print(populacao_plot)
# (2) Criação das Médias Amostrais
tamanho_amostra <- 35
numero_amostras <- 200
medias_amostrais <- numeric(numero_amostras)
# Loop para retirar as amostras e calcular a média, criando a variável 'medias_amostrais'
for (i in 1:numero_amostras) {
amostra <- sample(populacao_flu, size = tamanho_amostra, replace = TRUE)
medias_amostrais[i] <- mean(amostra)
}
# (3) Histograma e Curva de Densidade das Médias Amostrais
# Agora 'medias_amostrais' existe e pode ser usada:
df_medias <- data.frame(media = medias_amostrais)
medias_plot <- df_medias |>
ggplot(aes(x = media)) +
geom_histogram(aes(y = after_stat(density)), bins = 15, fill = "lightgreen", color = "black") +
geom_density(color = "blue", linewidth = 1) +
labs(
title = "2. Distribuição das Médias Amostrais (Demonstração do TLC)",
subtitle = paste("Média das Médias:", round(mean(medias_amostrais), 2), "| Erro Padrão Empírico:", round(sd(medias_amostrais), 2)),
x = "Média da Idade da Morte (de cada amostra)",
y = "Densidade"
) +
theme_minimal()
print(medias_plot)