Este relatório em R Markdown apresenta a solução para as três primeiras questões da 2ª Va da Disciplina de Computação para Análise de Dados. O documento está estruturado em abas, conforme solicitado, para facilitar a navegação. Além disso, o código de cada seção pode ser ocultado ou exibido através do botão “Code” no canto superior direito.
Visualize o dataset VADeaths (já incluído no R) e crie um gráfico de barras empilhadas desses dados, de modo que as barras estejam agrupadas (lado a lado) para cada categoria. Também defina uma cor diferente para cada grupo das categorias. Por fim, adicione título, legenda e nomes nos eixos.
# Criar gráfico de barras agrupadas com cores diferentes
par(mar = c(5, 5, 4, 2))
# Definir cores para cada grupo
cores <- c("#FF6B6B", "#4ECDC4", "#45B7D1", "#FFA07A", "#98D8C8")
# Criar gráfico de barras agrupadas (lado a lado)
barplot(t(VADeaths),
beside = TRUE,
col = cores,
main = "Mortalidade na Virgínia por Idade e Sexo",
xlab = "Grupos de Idade",
ylab = "Taxa de Mortalidade",
legend.text = TRUE,
args.legend = list(x = "topleft", title = "Sexo/Classe", cex = 0.8))
Uma doença pode ser classificada em três estágios (leve, moderado e severo). Foram examinados 20 pacientes e obtidos os dados: moderado, leve, leve, severo, leve, moderado, moderado, moderado, leve, leve, severo,leve, moderado, moderado, leve, severo, moderado, moderado, moderado,leve. Com base nestes dados crie um gráfico de piza. Inclua a porcentagem de cada fatia, as cores das fatias e o nome do gráfico. Adicionalmente, use o comando legend() para incluir a legenda do gráfico.
# Dados da classificação da doença
dados_doenca <- c("moderado", "leve", "leve", "severo", "leve", "moderado",
"moderado", "moderado", "leve", "leve", "severo", "leve",
"moderado", "moderado", "leve", "severo", "moderado",
"moderado", "moderado", "leve")
# Contar frequências
freq <- table(dados_doenca)
# Calcular porcentagens
porcentagem <- round(freq / sum(freq) * 100, 1)
# Definir cores para cada estágio (ordenado alfabeticamente: leve, moderado, severo)
cores_doenca <- c("lightgreen", "gold", "tomato")
# Criar gráfico de pizza
par(mar = c(1, 1, 2, 1) + 0.1) # Ajustar margens
pie(freq,
labels = paste(names(freq), "\n", porcentagem, "%"),
col = cores_doenca,
main = "Classificação da Doença em 20 Pacientes",
cex = 1.2)
# Adicionar legenda
legend("topright",
legend = names(freq),
fill = cores_doenca,
title = "Estágios",
cex = 0.9)
Nesta questão, demonstre o uso do teorema do limite central, usando o conjunto de dados “flu.csv” (que foi enviado em anexo) que é altamente não normal. Considere a idade das mortes como a população.
# Carregar dados dO arquivo "flu.csv"
flu <- read.csv("C:\\Users\\dufel\\Downloads\\flu.csv")
# Renomear a coluna para facilitar
names(flu) <- "age"
# (1) Histograma e curva de densidade dos dados originais
par(mfrow = c(1, 1), mar = c(5, 5, 4, 2) + 0.1)
hist(flu$age,
main = "Distribuição das Idades de Mortes - Gripe Espanhola (1918)",
xlab = "Idade",
ylab = "Densidade",
col = "#4ECDC4",
border = "white",
breaks = 30,
probability = TRUE)
# Adicionar curva de densidade
lines(density(flu$age), col = "#FF6B6B", lwd = 2)
# Adicionar legenda
legend("topright",
legend = c("Densidade Empírica"),
col = c("#FF6B6B"),
lty = c(1),
lwd = 2,
cex = 0.9)
# (2) Criar 200 médias de amostras com n = 35
set.seed(42)
n_amostras <- 200
tamanho_amostra <- 35
medias_amostras <- numeric(n_amostras)
for (i in 1:n_amostras) {
# Amostragem com reposição
amostra <- sample(flu$age, size = tamanho_amostra, replace = TRUE)
medias_amostras[i] <- mean(amostra)
}
# Variáveis globais para a próxima parte
media_pop <- mean(flu$age)
dp_pop <- sd(flu$age)
erro_padrao <- dp_pop / sqrt(tamanho_amostra)
# (3) Histograma e curva de densidade das médias das amostras
par(mfrow = c(1, 1), mar = c(5, 5, 4, 2) + 0.1)
hist(medias_amostras,
main = "Distribuição das Médias das Amostras (n=35, 200 amostras)",
xlab = "Média da Amostra",
ylab = "Densidade",
col = "#45B7D1",
border = "white",
breaks = 20,
probability = TRUE)
# Adicionar curva de densidade empírica
lines(density(medias_amostras), col = "#FF6B6B", lwd = 2)
# Adicionar curva normal teórica (baseada na média da população e erro padrão)
x <- seq(min(medias_amostras), max(medias_amostras), length.out = 100)
y <- dnorm(x, mean = media_pop, sd = erro_padrao)
lines(x, y, col = "#6BCB77", lwd = 2, lty = 2)
# Legenda
legend("topright",
legend = c("Densidade Empírica", "Curva Normal Teórica"),
col = c("#FF6B6B", "#6BCB77"),
lty = c(1, 2),
lwd = 2,
cex = 0.9)