diff --git a/03-dbc.Rmd b/03-dbc.Rmd index 157958fa1a51ca38057d0b331dffb125b903be94..e9c22055b79f5c2db549e8539e53ff52dcf81d27 100644 --- a/03-dbc.Rmd +++ b/03-dbc.Rmd @@ -414,3 +414,44 @@ str(RamalhoTb3.6) str(RamalhoTb8.12) ``` + +## Exemplo de intervalo de confiança para a média + +Tem que usar a variância residual e não a variância dentro de cada +grupo. + +```{r, eval = FALSE} +tb <- read.table("http://leg.ufpr.br/~walmes/data/pimentel_batatinha.txt", + header = TRUE, sep = "\t") +str(tb) + +# Calcula a variância dentro de cada tratamento e cria o IC. +tb_ics <- aggregate(cbind(m = producao) ~ variedade, + data = tb, FUN = mean) +tb_ics$sd1 <- with(tb, tapply(producao, variedade, FUN = sd)) +tb_ics$n <- with(tb, tapply(producao, variedade, FUN = length)) + +tb_ics <- + transform(tb_ics, + lwr1 = m - qt(0.975, n - 1) * sd1/sqrt(n), + upr1 = m + qt(0.975, n - 1) * sd1/sqrt(n)) +tb_ics + +# IC baseado em modelo. +m0 <- lm(producao ~ bloco + variedade, data = tb) +anova(m0) + +sd2 <- sqrt(deviance(m0)/df.residual(m0)) +sd2 + +# Calcula usando o desvio-padrão residual. +tb_ics <- + transform(tb_ics, + lwr2 = m - qt(0.975, df.residual(m0)) * sd2/sqrt(n), + upr2 = m + qt(0.975, df.residual(m0)) * sd2/sqrt(n)) +tb_ics + +# E esse IC é o que a essa função retorna. +as.data.frame(emmeans::emmeans(m0, specs = ~variedade)) + +```