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
<[email protected]> 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. _______________________________________________
R-br mailing list
[email protected]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código
mínimo reproduzível.