cat("1. CLASSIFICAÇÃO DE VARIÁVEIS:\n\n")
## 1. CLASSIFICAÇÃO DE VARIÁVEIS:
vars <- list(
a = "Número de pulsações por minuto em adultos normais.",
b = "Lugar de nascimento de uma pessoa.",
c = "Causa de óbito de um indivíduo.",
d = "Número de atendimentos em um Pronto Socorro, em um período de 24 horas.",
e = "Conceito obtido por um aluno numa prova (A, B, ...).",
f = "Aumento de peso em cobaias submetidas a uma dieta.",
g = "Respostas sobre grau de satisfação com um serviço."
)
classif <- list(
a = "Quantitativa contínua",
b = "Qualitativa nominal",
c = "Qualitativa nominal",
d = "Quantitativa discreta",
e = "Qualitativa ordinal",
f = "Quantitativa contínua",
g = "Qualitativa ordinal"
)
for (i in names(vars)) {
cat(i, ") ", vars[[i]], "\n", sep = "")
cat(" → ", classif[[i]], "\n\n")
}
## a) Número de pulsações por minuto em adultos normais.
## → Quantitativa contínua
##
## b) Lugar de nascimento de uma pessoa.
## → Qualitativa nominal
##
## c) Causa de óbito de um indivíduo.
## → Qualitativa nominal
##
## d) Número de atendimentos em um Pronto Socorro, em um período de 24 horas.
## → Quantitativa discreta
##
## e) Conceito obtido por um aluno numa prova (A, B, ...).
## → Qualitativa ordinal
##
## f) Aumento de peso em cobaias submetidas a uma dieta.
## → Quantitativa contínua
##
## g) Respostas sobre grau de satisfação com um serviço.
## → Qualitativa ordinal
cat("\n2. VACINAS (IBGE 1973):\n\n")
##
## 2. VACINAS (IBGE 1973):
vacinas <- c(antivario = 81335, antiamari = 23012, anticol = 12058, antitica = 2155, outras = 12276)
freq_abs <- vacinas
freq_rel <- vacinas / sum(vacinas)
pct <- 100 * freq_rel
tabela_vac <- data.frame(Vacina = names(vacinas), Freq = as.vector(freq_abs), Proporcao = round(freq_rel,6), Percent = round(pct,2))
print(tabela_vac)
## Vacina Freq Proporcao Percent
## antivario antivario 81335 0.621656 62.17
## antiamari antiamari 23012 0.175884 17.59
## anticol anticol 12058 0.092161 9.22
## antitica antitica 2155 0.016471 1.65
## outras outras 12276 0.093827 9.38
cat("\n3. PESQUISA SOBRE MELHORIA:\n\n")
##
## 3. PESQUISA SOBRE MELHORIA:
pcts <- c(certeza = 32, provavelmente = 24, provavelmente_nao = 14, certeza_nao = 12)
pcts["sem_opiniao"] <- 100 - sum(pcts)
tab3 <- data.frame(Resposta = names(pcts), Percent = as.vector(pcts))
tab3$Accum <- cumsum(tab3$Percent)
print(tab3)
## Resposta Percent Accum
## 1 certeza 32 32
## 2 provavelmente 24 56
## 3 provavelmente_nao 14 70
## 4 certeza_nao 12 82
## 5 sem_opiniao 18 100
cat("Porcentagem que acredita na melhoria (certamente + provavelmente):", pcts["certeza"] + pcts["provavelmente"], "%\n")
## Porcentagem que acredita na melhoria (certamente + provavelmente): 56 %
cat("\n4. FÁBRICAS A E B - PROBABILIDADES:\n\n")
##
## 4. FÁBRICAS A E B - PROBABILIDADES:
pA <- 0.60; pB <- 0.40
failA <- 0.35; failB <- 0.25
p_def <- pA*failA + pB*failB
p_A_given_def <- (failA * pA) / p_def
cat(sprintf("P(defeito) = %.4f\nP(def|A) = %.2f\nP(def|B) = %.2f\nP(A|def) = %.4f\n", p_def, failA, failB, p_A_given_def))
## P(defeito) = 0.3100
## P(def|A) = 0.35
## P(def|B) = 0.25
## P(A|def) = 0.6774
cat("\n5. DISCOS - PROBABILIDADES:\n\n")
##
## 5. DISCOS - PROBABILIDADES:
mat <- matrix(c(70,9,16,5), nrow=2, byrow=TRUE)
rownames(mat) <- c("Arranho_alta","Arranho_baixa")
colnames(mat) <- c("Choque_alta","Choque_baixa")
print(mat)
## Choque_alta Choque_baixa
## Arranho_alta 70 9
## Arranho_baixa 16 5
total <- sum(mat)
P_A <- sum(mat[,"Choque_alta"])/total
P_B <- sum(mat["Arranho_alta",])/total
P_A_and_B <- mat["Arranho_alta","Choque_alta"]/total
P_A_or_B <- P_A + P_B - P_A_and_B
P_Ac_and_B <- P_B - P_A_and_B
P_Ac_and_Bc <- 1 - (P_A + P_B - P_A_and_B)
P_A_given_B <- P_A_and_B / P_B
P_B_given_A <- P_A_and_B / P_A
cat(sprintf("P(A e B) = %.4f\nP(A ou B) = %.4f\nMutuamente excludentes? %s\nP(Ac ∩ B) = %.4f\nP(Ac ∩ Bc) = %.4f\nP(A|B) = %.4f\nP(B|A) = %.4f\n", P_A_and_B, P_A_or_B, ifelse(P_A_and_B==0,"Sim","Não"), P_Ac_and_B, P_Ac_and_Bc, P_A_given_B, P_B_given_A))
## P(A e B) = 0.7000
## P(A ou B) = 0.9500
## Mutuamente excludentes? Não
## P(Ac ∩ B) = 0.0900
## P(Ac ∩ Bc) = 0.0500
## P(A|B) = 0.8861
## P(B|A) = 0.8140
cat("\n6. AVALIAÇÕES E SUCESSO:\n\n")
##
## 6. AVALIAÇÕES E SUCESSO:
p_high_success <- 0.40
p_mod_success <- 0.35
p_poor <- 0.25
p_good_given_high <- 0.95
p_good_given_mod <- 0.60
p_good_given_poor <- 0.10
p_good <- p_high_success*p_good_given_high + p_mod_success*p_good_given_mod + p_poor*p_good_given_poor
p_high_given_good <- (p_good_given_high * p_high_success) / p_good
p_not_good <- 1 - p_good
p_high_given_notgood <- ((1 - p_good_given_high) * p_high_success) / p_not_good
cat(sprintf("P(good) = %.4f\nP(high|good) = %.4f\nP(high|not good) = %.4f\n", p_good, p_high_given_good, p_high_given_notgood))
## P(good) = 0.6150
## P(high|good) = 0.6179
## P(high|not good) = 0.0519
cat("\n7. TESTE DE SEGURANÇA - BAYES:\n\n")
##
## 7. TESTE DE SEGURANÇA - BAYES:
P_R <- 0.01
P_test_pos_given_R <- 0.95
P_test_pos_given_Rc <- 0.10
P_test_pos <- P_test_pos_given_R * P_R + P_test_pos_given_Rc * (1-P_R)
P_R_given_testpos <- (P_test_pos_given_R * P_R) / P_test_pos
cat(sprintf("P(R|Teste+) = %.4f\n", P_R_given_testpos))
## P(R|Teste+) = 0.0876
cat("\n8. MOEDA 3 VEZES:\n\n")
##
## 8. MOEDA 3 VEZES:
sample_space <- apply(expand.grid(c("C","K"),c("C","K"),c("C","K")), 1, paste, collapse="")
event_more_faces <- sample_space[sapply(strsplit(sample_space,""), function(x) sum(x=="C") > sum(x=="K"))]
cat("Espaço amostral:", paste(sample_space, collapse=", "), "\n")
## Espaço amostral: CCC, KCC, CKC, KKC, CCK, KCK, CKK, KKK
cat("Evento (mais caras que coroas):", paste(event_more_faces, collapse=", "), "\n")
## Evento (mais caras que coroas): CCC, KCC, CKC, CCK
cat("Probabilidade:", length(event_more_faces) / length(sample_space), "\n")
## Probabilidade: 0.5
cat("\n9. APROVAÇÃO POR SEXO:\n\n")
##
## 9. APROVAÇÃO POR SEXO:
tab9 <- matrix(c(60,10,30,0), nrow=2, byrow=TRUE)
rownames(tab9) <- c("Masculino","Feminino")
colnames(tab9) <- c("Aprovado","Reprovado")
print(tab9)
## Aprovado Reprovado
## Masculino 60 10
## Feminino 30 0
total9 <- sum(tab9)
P_male <- sum(tab9["Masculino",])/total9
P_aprov <- sum(tab9[,"Aprovado"])/total9
P_male_and_aprov <- tab9["Masculino","Aprovado"]/total9
P_male_or_aprov <- P_male + P_aprov - P_male_and_aprov
cat(sprintf("P(masculino) = %.4f\nP(aprovado) = %.4f\nP(masculino e aprovado) = %.4f\nP(masculino ou aprovado) = %.4f\n", P_male, P_aprov, P_male_and_aprov, P_male_or_aprov))
## P(masculino) = 0.7000
## P(aprovado) = 0.9000
## P(masculino e aprovado) = 0.6000
## P(masculino ou aprovado) = 1.0000
cat("\n10. PROBABILIDADE BINOMIAL:\n\n")
##
## 10. PROBABILIDADE BINOMIAL:
n10 <- 10; p5 <- 1/7
prob_at_most_2 <- pbinom(2, size=n10, prob=p5)
cat(sprintf("P(número 5 sair no máximo 2 vezes) = %.6f\n", prob_at_most_2))
## P(número 5 sair no máximo 2 vezes) = 0.838395
cat("\n11. CRISE ENERGÉTICA E DESEMPREGO:\n\n")
##
## 11. CRISE ENERGÉTICA E DESEMPREGO:
P_crise <- 0.40
P_desemp <- 0.35
P_des_given_crise <- 0.70
P_des_and_crise <- P_crise * P_des_given_crise
P_des_and_notcrise <- P_desemp - P_des_and_crise
P_des_given_notcrise <- P_des_and_notcrise / (1 - P_crise)
P_no_des_no_crise <- 1 - (P_desemp + P_crise - P_des_and_crise)
indep <- abs(P_des_given_crise - P_desemp) < 1e-8
cat(sprintf("P(não crise e desemprego) = %.4f\nP(desemp|não crise) = %.4f\nP(não desemp e não crise) = %.4f\nIndependentes? %s\n", P_des_and_notcrise, P_des_given_notcrise, P_no_des_no_crise, ifelse(indep,"Sim","Não")))
## P(não crise e desemprego) = 0.0700
## P(desemp|não crise) = 0.1167
## P(não desemp e não crise) = 0.5300
## Independentes? Não
cat("\n12. SORO DA VERDADE - BAYES:\n\n")
##
## 12. SORO DA VERDADE - BAYES:
P_guilty <- 0.05
P_innocent <- 0.95
P_test_pos_given_guilty <- 0.90
P_test_pos_given_innocent <- 0.01
P_test_pos_total <- P_test_pos_given_guilty * P_guilty + P_test_pos_given_innocent * P_innocent
P_innocent_given_testpos <- (P_test_pos_given_innocent * P_innocent) / P_test_pos_total
cat(sprintf("P(inocente | teste indica culpado) = %.4f\n", P_innocent_given_testpos))
## P(inocente | teste indica culpado) = 0.1743
cat("\n13. DISTRIBUIÇÃO BINOMIAL (n=15, p=0.4):\n\n")
##
## 13. DISTRIBUIÇÃO BINOMIAL (n=15, p=0.4):
n13 <- 15; p13 <- 0.4
p_ge_14 <- sum(dbinom(14:15, size=n13, prob=p13))
p_9_10 <- sum(dbinom(9:10, size=n13, prob=p13))
p_c <- pbinom(1, size=n13, prob=p13) + sum(dbinom(11:15, size=n13, prob=p13))
p_ge_11 <- sum(dbinom(11:15, size=n13, prob=p13))
p_gt_13 <- sum(dbinom(14:15, size=n13, prob=p13))
p_between_4_5 <- sum(dbinom(4:5, size=n13, prob=p13))
num <- sum(dbinom(11:13, size=n13, prob=p13))
den <- p_ge_11
p_cond <- num / den
cat(sprintf("P(X>=14) = %.6f\nP(9<=X<=10) = %.6f\nP(X<2 ou X>=11) = %.6f\nP(X>=11) = %.6f\nP(X>13) = %.6f\nP(4<=X<=5) = %.6f\nP(X<=13 | X>=11) = %.6f\n", p_ge_14, p_9_10, p_c, p_ge_11, p_gt_13, p_between_4_5, p_cond))
## P(X>=14) = 0.000025
## P(9<=X<=10) = 0.085700
## P(X<2 ou X>=11) = 0.014520
## P(X>=11) = 0.009348
## P(X>13) = 0.000025
## P(4<=X<=5) = 0.312714
## P(X<=13 | X>=11) = 0.997301
cat("\n14. VOTO POR SEXO:\n\n")
##
## 14. VOTO POR SEXO:
P_M <- 0.5; P_V <- 0.4; P_V_given_M <- 0.3
P_V_given_Mc <- (P_V - P_V_given_M * P_M) / (1 - P_M)
cat(sprintf("P(V|Mc) = %.4f\n", P_V_given_Mc))
## P(V|Mc) = 0.5000
cat("\n15. ATIRADOR - BINOMIAL:\n\n")
##
## 15. ATIRADOR - BINOMIAL:
p15 <- sum(dbinom(8:10, size=10, prob=0.7))
cat(sprintf("P(acertar ≥ 8 vezes) = %.6f\n", p15))
## P(acertar ≥ 8 vezes) = 0.382783
cat("\n16. CHEGADAS DE NAVIOS - POISSON:\n\n")
##
## 16. CHEGADAS DE NAVIOS - POISSON:
f <- function(lambda) { ppois(1,lambda) / ppois(2,lambda) - 0.6 }
lambda_sol <- uniroot(f, c(0.001,10))$root
p_at_least3_given_atleast2 <- (1 - ppois(2, lambda_sol)) / (1 - ppois(1, lambda_sol))
cat(sprintf("Lambda estimado = %.4f\nP(X≥3 | X≥2) = %.4f\n", lambda_sol, p_at_least3_given_atleast2))
## Lambda estimado = 2.0000
## P(X≥3 | X≥2) = 0.5443
cat("\n17. DISTRIBUIÇÃO NORMAL:\n\n")
##
## 17. DISTRIBUIÇÃO NORMAL:
mu <- 60; sd <- 15
p_ge_50 <- 1 - pnorm(50, mean=mu, sd=sd)
p_le_30 <- pnorm(30, mean=mu, sd=sd)
p_40_70 <- pnorm(70, mean=mu, sd=sd) - pnorm(40, mean=mu, sd=sd)
p_ge_75 <- 1 - pnorm(75, mean=mu, sd=sd)
cat(sprintf("P(X≥50) = %.4f\nP(X≤30) = %.6f\nP(40≤X≤70) = %.4f\nP(X≥75) = %.6f\n", p_ge_50, p_le_30, p_40_70, p_ge_75))
## P(X≥50) = 0.7475
## P(X≤30) = 0.022750
## P(40≤X≤70) = 0.6563
## P(X≥75) = 0.158655
cat("\n18. MÉDIA AMOSTRAL:\n\n")
##
## 18. MÉDIA AMOSTRAL:
mu0 <- 1.5; sigma2 <- 0.1; sigma <- sqrt(sigma2)
n_ex <- 30
se_ex <- sigma / sqrt(n_ex)
p_Xbar_gt2 <- 1 - pnorm(2, mean=mu0, sd=se_ex)
cat(sprintf("P(X̄ > 2) com n=%d: %.6f\n", n_ex, p_Xbar_gt2))
## P(X̄ > 2) com n=30: 0.000000
cat("\n19. TAMANHO DE AMOSTRA:\n\n")
##
## 19. TAMANHO DE AMOSTRA:
p0 <- 0.6; e <- 0.05
z_0.9 <- qnorm(0.9)
n_req <- ceiling(p0*(1-p0) * (z_0.9 / e)^2)
phat_final <- 0.51; n_final <- n_req
se_phat <- sqrt(phat_final*(1-phat_final)/n_final)
z_95 <- qnorm(0.975)
IC_lower <- phat_final - z_95*se_phat
IC_upper <- phat_final + z_95*se_phat
cat(sprintf("Tamanho recomendado: n = %d\n", n_req))
## Tamanho recomendado: n = 158
cat(sprintf("IC 95%% para p: [%.4f, %.4f]\n", IC_lower, IC_upper))
## IC 95% para p: [0.4321, 0.5879]
cat("\n20. INTERVALO DE CONFIANÇA:\n\n")
##
## 20. INTERVALO DE CONFIANÇA:
phat20 <- 0.55; n20 <- 1600
se20 <- sqrt(phat20*(1-phat20)/n20)
z_95 <- qnorm(0.975)
IC20 <- c(phat20 - z_95*se20, phat20 + z_95*se20)
cat(sprintf("IC 95%% = [%.4f, %.4f]\n", IC20[1], IC20[2]))
## IC 95% = [0.5256, 0.5744]
cat("\n=============================================\n")
##
## =============================================
cat("FIM DA ANÁLISE ESTATÍSTICA\n")
## FIM DA ANÁLISE ESTATÍSTICA
cat("=============================================\n")
## =============================================
| # CONCLUSÃO |
Esta análise estatística completa abordou diversos tópicos fundamentais:
Estatística Descritiva: Classificação de variáveis, tabelas de frequência, gráficos
Probabilidade: Espaços amostrais, probabilidade condicional, teorema de Bayes
Distribuições Discretas: Binomial, Poisson
Distribuições Contínuas: Normal
Inferência Estatística: Intervalos de confiança, tamanho amostral