[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