[R-br] Enc: Gráfico de interação entre dois fatores

Walmes Zeviani walmeszeviani em gmail.com
Quarta Abril 26 21:05:01 BRT 2017


Ana Paula,

Segue CRM. O guia de contribuição dessa lista de discussão não recomenda o
envio de conteúdo anexo as mensagens. Isso por motivos de segurança,
reprodutibilidade, portabilidade e economia. Procure fazer códigos
reproduzíveis a partir de recorta e cola, como é esse que eu envio. Isso
ajuda muito as pessoas dispostas a te ajudar porque elas passam a ter bons
motivos para isso. Quando os dados não são grandes (tabelas de poucas
linhas/colunas), um mecanismo com textConnection() é suficiente. Estou
certo da sua compreensão.

#-----------------------------------------------------------------------

txt <-
"A    E    Bloco    Y
0    1    1    3.05
0    1    2    4.45
0    1    3    3.05
0    1    4    3.35
0    2    1    3.50
0    2    2    3.90
0    2    3    3.80
0    2    4    4.05
25    1    1    4.15
25    1    2    3.90
25    1    3    4.25
25    1    4    3.15
25    2    1    2.40
25    2    2    3.65
25    2    3    3.35
25    2    4    3.45
50    1    1    3.40
50    1    2    5.00
50    1    3    3.80
50    1    4    2.55
50    2    1    2.50
50    2    2    4.00
50    2    3    3.25
50    2    4    2.95
75    1    1    3.25
75    1    2    3.80
75    1    3    3.45
75    1    4    3.30
75    2    1    3.50
75    2    2    4.25
75    2    3    3.55
75    2    4    3.10
100    1    1    3.25
100    1    2    3.00
100    1    3    4.35
100    1    4    3.00
100    2    1    2.40
100    2    2    4.65
100    2    3    4.20
100    2    4    3.60"

da <- read.table(textConnection(txt),
                 header = TRUE,
                 sep = "\t",
                 colClasses = c("integer",
                                "factor",
                                "factor",
                                "numeric"))
closeAllConnections()
str(da)

xtabs(~A + E, data = da)

with(da,
     interaction.plot(A,
                      E,
                      Y,
                      xlab = "Adubação",
                      ylab = "ºBrix"))

# ATTENTION: o interaction.plot() só te fornece o sinal mas não de dá
# uma ideia do ruído para julgar a clareza ou saliência deste sinal.
# Recomendo gráficos para isso que incorporem os valores observados e
# não somente as médias.

library(lattice)
library(latticeExtra)

xyplot(Y ~ A,
       groups = E,
       data = da,
       type = c("p", "a"))

# Gráfico destaca as médias de cada nível de A variando E. Os blocos não
# são identificáveis nesse gráfico e parte da variação é explicada
# pelos blocos. No gráfico abaixo, observações do mesmo bloco são unidas
# por segmentos. As linhas grossas indicam o efeito de A com E.

xyplot(Y ~ A,
       groups = interaction(E, Bloco),
       data = da,
       lty = 2,
       type = c("p", "a")) +
    as.layer(xyplot(Y ~ A,
       groups = E,
       data = da,
       lty = 1, lwd = 2,
       type = c("p", "a")))

# Note que o ruído domina a expressão do sinal, fazendo com tenhamos
# pouca evidência para esperar por uma interação. Ou seja, dentro da
# aplitude de variação vista, o sinal de interação é desprezível.

xyplot(Y ~ A,
       groups = E,
       data = da) +
    glayer(panel.smoother(x = x, y = y))

# Esse gráfico ajusta uma regressão suave e mostra a curva ajustadas com
# bandas de confiança. Atenção: o efeito de bloco não foi considerado e
# portanto veja isso como algo exploratório.

# Passa A para fator.
da$A <- factor(da$A, levels = sort(unique(da$A)))

# Ajusta o modelo de parcelas subdivididas.
m0 <- aov(Y ~ Bloco + E * A + Error(Bloco:E),
          data = da)

# Quadro de anova.
summary(m0)

#-----------------------------------------------------------------------


À disposição.
Walmes.
​
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20170426/a07a5964/attachment.html>


Mais detalhes sobre a lista de discussão R-br