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

Henrique Boriolo Dias henrique.bdias em yahoo.com.br
Qua Out 2 12:18:40 -03 2019


 Prezado Walmes,
Primeiramente perdao pela falha. Faco parte da lista desde uns 3 anos atras, quando comecei a usar o R de fato.No inicio foi mais por manter antenado nas possibilidades e aprender com duvidas de colegas que usam ou usaram esse canal.O email do Jose me encorajou a enviar um pedido de ajuda.Comumente vejo emails sobre a questao de reprodutibilidade e dei muita atencao a isso e nao em uma ponto basico sobre o codigo de conduta que li la tras qdo entrei na lista, o que deveria ter percebido pq nao lembro de ter visto alguem anexando nada. Enfim, aprendido.
Segundo, obrigado pelo compartilhamento da sua visao e do codigo. Com certeza elucidou muita coisa pra mim.
Ate maisHenrique
    Em quarta-feira, 2 de outubro de 2019 10:05:37 GMT-4, Walmes Zeviani <walmeszeviani em gmail.com> escreveu:  
 
 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/e3a80242/attachment.html>


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