[R-br] Ajuda com análise conjunta de dois experimentos com parcelas subdividas

Walmes Zeviani walmeszeviani em gmail.com
Qua Out 2 11:05:23 -03 2019


Henrique,

Bom que você conferiu reprodutibilidade MAS o código de conduta da lista
pede para que não sejam enviados anexos para a lista.
Existem outras formas de conferir acesso aos dados sem que seja por anexo,
ok?

> As dúvidas, além de saber se estou ou não num caminho lúcido em termos da
estatística:
> 1) Em alguns casos houve violação de alguma pressuposição (estou testando
norm. dos residuos e homogeneidade apenas),
> como para a variável resposta 3, no local II colhido na idade 8.
> - Procedo com alguma transformação ? tipo utilizar boxcox e ver qual
melhor forma de transformar os dados ?
> - Ou Parto para outro tipo de abordagem ? alguma sugestão ?

Nem uma coisa nem outra. Segue com a análise usual. Por que? Bem, para
começar, você sabe que, se o nível de significância é de 5%, 1 em cada 20
análises (em média) irá rejeitar a hipótese nula mesmo que ela seja
verdadeira. É o erro tipo I. Então, o que está acontecendo com você é
basicamente isso. De tanto fazer testes, uma hora haverá uma rejeição que
pode ser apenas casual. Não rodei seu script para saber se de fato a
rejeição deve-se a alguma anomalia grave. Mas de qualquer forma, fica aí o
raciocínio. Outro ponto, eu não gosto dessa abordagem "pilha de testes de
hipóteses". Prefiro, ainda que seja considerado subjetiva, a análise
gráfica dos resíduos porque a leitura conjunta dos gráficos subsidia alguma
ação em caso de necessidade, coisa que o teste não faz porque ele diz
apenas "sim" e "não". Um último ponto, sendo a mesma variável resposta
vista em divisões dos dados (por local, por época, etc), não seria
desejável aplicar uma transformação diferente em cada fração. O melhor
seria encontrar uma transformação que seja adequada para todas as frações.
Você pode examinar isso graficamente, fazer uma boa análise exploratória e
depois de ajustar o modelo, fazer uma boa análise dos resíduos.

A `VariavelResposta1`, por exemplo, mostra um aumento de variabilidade em
função da idade, coisa que é comum em dados de crescimento (não se é o
caso). No início as unidades experimentais de um mesmo tratamento são mais
parecidas, mas com o passar do tempo na exposição aos várias fatores não
controlados, as diferenças nas variáveis resposta tendem a aumentar,
aumentando portanto a variância do erro. Talvez uma transformação log,
raíz, etc, resolva isso. Mas nada impede de modelar a variância
conjuntamente com a média (sem querer complicar).

> 2) Há alguma forma de análise considerando as todas as idades?

Se você considerar representar efeito do fator idade (fator quantitativo)
por alguma função, por exemplo, polinômio, então mesmo não tendo as mesmas
idades (mesmo sendo um fatorial incompleto) nas cultivares, você vai
analisar tudo conjuntamente com facilidade. Se assumir idade como variável
quantitativa (o que não é recomendável pela própria natureza da variável),
aí você terá um fatorial incompleto que é coisa complicada de analisar por
causa das celas ausentes.

> 3) Ao menos duas idades e 3 dos cultivares são comuns em ambos os locais,
seria muito abusado tentar realizar uma análise conjunta
> apenas para essas cultivares? (com abordagem similar ao proposto para o
caso do José)

Poderia ser feito. A idade não é preocupação se for usado regressão nela.
Mas a análise exploratória que fiz indica que só existe uma época comum aos
dois locais. Dessa forma não tem como declara interação local:epoca, pois
pela ausência de mais combinações comuns, o efeito de interação não é
estimável se época for considerado fator qualitativo. Se for quantitativo,
assumindo uma função, então daria para estimar/representar a interação.

Tudo isso vai do seu interesse e disposição em fazer a análise. Ao meu ver,
o experimento parece não ter sido planejado para uma análise conjunta
visando estimar interação etc. O jeito mais tranquilo é analisar os locais
separados, até mesmo porque, não se tem como inferir sobre o efeito de
local (não creio que essa seja a hipótese), e uma vez que  estimar a
interação local:epoca é complicado neste caso, não sei se compensa o
esforço. A interação local:cultivar dá para estimar, mas apenas baseando-se
em 3 cultivares comuns aos locais, mas tendo em mente que as épocas de
cultivo foram diferentes (apenas uma comum), o que certamente incluirá um
complicador para gerar confundimento.

Já as idades, como em cada experimento elas são as mesmas, e o padrão é bem
linear, você pode começar com o modelo linear simples pro efeito de idade e
ir aumentando o grau conforme necessidade.

Segue código usado para explorar os dados.

# Lê direto da planilha.
da <- gdata::read.xls("db_r-list.xlsx",
                      stringsAsFactors = FALSE)
str(da)

factor_roman <- function(x) {
    u <- sort(as.roman(unique(x)))
    factor(x, levels = as.character(u))
}

# Converte para fator com níveis romanos ordenados.
da <- transform(da,
                Epoca = factor_roman(Epoca),
                Cultivar = factor_roman(Cultivar),
                Local = factor_roman(Local),
                Bloco = factor(Repeticao))

# Tabelas de frequência dos pontos experimentais.
xtabs(~Epoca + Local, data = da)
xtabs(~Cultivar + Local, data = da)
xtabs(~Cultivar + Epoca, data = da)
ftable(xtabs(~Local + Idade + Cultivar, data = da))

library(lattice)

# Diagrama de dispersão.
xyplot(VariavelResposta1 ~ Idade | Epoca + Local,
       groups = Cultivar,
       data = da,
       type = c("p", "a"))

# Separando por local.
gridExtra::grid.arrange(
               ncol = 1,
               xyplot(VariavelResposta1 ~ Idade | Epoca,
                      groups = Cultivar,
                      data = da,
                      subset = Local == "I",
                      layout = c(NA, 1),
                      type = c("p", "a")),
               xyplot(VariavelResposta1 ~ Idade | Epoca,
                      groups = Cultivar,
                      data = da,
                      subset = Local == "II",
                      layout = c(NA, 1),
                      type = c("p", "a")))

# Cultivares comuns aos dois locais.
u <- as.array(xtabs(~Cultivar + Local, data = da))
i <- apply(u, 1, prod) > 0
common <- as.data.frame(u[i, ])
common$Freq <- NULL
common

# Pega apenas as combinações presentes.
db <- droplevels(merge(common, da, all.x = TRUE, all.y = FALSE))
summary(db)

# Diagrama de dispersão para a seleção.
xyplot(VariavelResposta1 ~ Idade | Epoca + Local,
       groups = Cultivar,
       data = db,
       type = c("p", "a"))

xyplot(VariavelResposta1 ~ Idade | Cultivar + Local,
       groups = Epoca,
       data = db,
       type = c("p", "a"))

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


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