Questões
VADeaths
# Visualizando os dados
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
df_va <- as.data.frame(VADeaths)
df_va$Idade <- rownames(df_va)
matrix_plot <- t(VADeaths)
cores <- c("Rural Male" = "lightblue", "Rural Female" = "pink",
"Urban Male" = "darkblue", "Urban Female" = "red")
# Criando o gráfico
barplot(
VADeaths,
beside = TRUE,
col = c("gray", "lightgray", "darkred", "red", "purple"),
main = "Taxas de Mortalidade na Virgínia",
xlab = "Causa/Área",
ylab = "Taxa de Mortalidade (por 1000 habitantes)",
legend.text = rownames(VADeaths),
args.legend = list(x = "topleft", bty = "n"),
names.arg = colnames(VADeaths)
)

ClassificaçãoDoença
# Definindo os dados
dados <- c("moderado", "leve", "leve", "severo", "leve", "moderado",
"moderado", "moderado", "leve", "leve", "severo", "leve",
"moderado", "moderado", "leve", "severo", "moderado",
"moderado", "moderado", "leve")
# Preparando os dados
frequencias <- table(dados)
# Convertendo para um fator ordenado antes de usar table()
estagios_ordenados <- factor(dados, levels = c("leve", "moderado", "severo"))
frequencias_ordenadas <- table(estagios_ordenados)
# Calculando as porcentagens
proporcoes <- prop.table(frequencias_ordenadas)
porcentagens <- round(proporcoes * 100, 1)
# Definindo os rótulos
nomes_fatias <- names(frequencias_ordenadas)
rotulos_fatias <- paste(nomes_fatias, " (", porcentagens, "%)", sep="")
# Definindo as cores das fatias
cores_fatias <- c("leve" = "lightgreen", "moderado" = "gold", "severo" = "firebrick")
# Margens
par(mar = c(5,4,4,8) + 0.1)
# Criando o gráfico de pizza
pie(
frequencias_ordenadas,
labels = rotulos_fatias,
col = cores_fatias,
main = "Classificação da Doença em 20 Pacientes"
)
# Adicionando a legenda
legend(
x = "topright",
legend = nomes_fatias,
fill = cores_fatias,
title = "Estágio",
bty = "n",
inset = c(-0.015, 0)
)

Teorema
# Carregando o dataset
flu_data <- read.csv("flu.csv")
# Extraindo a variável de interesse
population <- flu_data$age
# Tamanho da População
N <- length(population)
pop_mean <- mean(population)
pop_sd <- sd(population)
# Criando o histograma da população
hist_pop <- hist(population,
main = "Distribuição de Idades das Mortes (População)",
xlab = "Idade",
freq = FALSE,
col = "#ADD8E6",
border = "white")
# Adicionando a curva de densidade estimada
lines(density(population), col = "#00008B", lwd = 2)
# Adicionando a legenda
legend("topright",
legend = c("Densidade da População"),
col = c("#00008B"),
lwd = 2,
bty = "n")

# Número de amostras
K <- 200
# Tamanho da amostra
n_size <- 35
# Definindo a função para tirar a amostra e calcular a média
get_sample_mean <- function() {
sample_data <- sample(population, size = n_size, replace = TRUE)
mean(sample_data)
}
# Replicando o processo 200 vezes
sample_means <- replicate(K, get_sample_mean())
# Estatísticas das Médias Amostrais
means_mean <- mean(sample_means)
means_sd <- sd(sample_means)
# Criando o histograma das médias amostrais
hist_means <- hist(sample_means,
main = "Distribuição das Médias Amostrais (n = 35)",
xlab = "Média da Idade",
freq = FALSE,
col = "#90EE90",
border = "white",
breaks = 15)
# Adicionando a curva de densidade estimada
lines(density(sample_means), col = "#006400", lwd = 2)
# Adicionando a curva de densidade de uma distribuição normal teórica
x_fit <- seq(min(sample_means), max(sample_means), length = 100)
y_fit <- dnorm(x_fit, mean = pop_mean, sd = pop_sd / sqrt(n_size))
lines(x_fit, y_fit, col = "red", lty = 2, lwd = 2)
legend("topright",
legend = c("Densidade Amostral", "Densidade Normal Teórica"),
col = c("#006400", "red"),
lwd = 2,
lty = c(1, 2),
bty = "n")

Quarta questão
N <- 300 # Tamanho da População de gatos
sigma <- 0.5 # Desvio Padrão da População (kg)
CL <- 0.99 # Nível de Confiança (99%)
E <- 0.1 # Erro Amostral (kg)
# 1. Calculando o valor critico z
alpha <- 1 - CL
Z <- qnorm(1 - alpha/2)
# 2. Calculando n0
n0 <- (Z * sigma / E)^2
# 3. Calculando n
n_calculado <- n0 / (1 + (n0 - 1) / N)
# 4. Truncando o resultado para duas casas decimais
n_truncado <- floor(n_calculado * 100) / 100
cat(sprintf("Resposta: %s\n", format(n_truncado, nsmall = 2)))
## Resposta: 107.04
Quinta questão
mu <- 400 # Média do consumo (gramas)
sigma <- 45 # Desvio Padrão (gramas)
X <- 500 # Valor de interesse (limite superior)
# Calculando a proporção acumulada até X = 500
prob_abaixo_500 <- pnorm(q = X, mean = mu, sd = sigma)
# Calculando a proporção acima de X = 500
prob_acima_500 <- 1 - prob_abaixo_500
# Convertendo para porcentagem
porcentagem <- prob_acima_500 * 100
# Truncando o resultado para duas casas decimais
porcentagem_truncada <- floor(porcentagem * 100) / 100
cat(sprintf("Resposta: %s%%\n", format(porcentagem_truncada, nsmall = 2)))
## Resposta: 1.31%
Sexta questão
#Carregando o dataset
load("bdims.RData")
# 2. Filtrando dados
alturas_mulheres <- bdims[bdims$sex == 0, "hgt"]
# 3. Parâmetros e estatísticas da amostra
CL <- 0.985 # Nível de Confiança (98.5%)
n <- length(alturas_mulheres) # Tamanho da amostra
media_amostra <- mean(alturas_mulheres) # Média amostral
sd_amostra <- sd(alturas_mulheres) # Desvio padrão amostral
# 4. Calculando o valor crítico T
alfa <- 1 - CL
graus_liberdade <- n - 1
t_critico <- qt(1 - alfa / 2, df = graus_liberdade)
# Calculando o erro padrão e a margem de erro
erro_padrao <- sd_amostra / sqrt(n)
margem_erro <- t_critico * erro_padrao
# Calculando o intervalo de confiança
limite_inferior_calculado <- media_amostra - margem_erro
limite_superior_calculado <- media_amostra + margem_erro
# Truncando para 2 casas decimais
trunca_decimal <- function(x, d) {
floor(x * 10^d) / 10^d
}
# Truncando os limites
li_truncado <- trunca_decimal(limite_inferior_calculado, 2)
ls_truncado <- trunca_decimal(limite_superior_calculado, 2)
# Formatando a resposta final
resposta_formatada <- sprintf("[%.2f-%.2f]", li_truncado, ls_truncado)
cat(sprintf("Resposta: %s\n", resposta_formatada))
## Resposta: [163.87-165.86]