Olá Marcelo, O genotipo seria o que varia entre os modelos?
Você tem um código minimamente reproduzivel para que a gente possa ajudar? Sem os dados o que eu entendo... Inicialmente, você pode rodar isso dentro de um for (com alguns ifs você define se os resíduos são normais, faz o plot, e etc). E obviamente, pode guardar os resultados dentro uma lista ou um df, como preferir. Abraços, Deisy On Sat, Apr 23, 2022, 7:19 PM Marcelo Laia por (R-br) < [email protected]> wrote: > Olá > > Saberia me ajudar com uma otimização (execução em lote) do código > abaixo? > > A análise é a seguinte (exemplo): > > 1 - pego os dados da coluna 25 e obtenho o lambda (boxcox); > 2 - crio uma nova coluna com os dados corrigidos > 3 - aplico um lm > 4 - checo as pressuposições > 5 - calculo e jogo em um objeto o boxplot (função ggboxplot) > 6 - ploto o boxplot > 7 - armazeno no hd o boxplot com o nome da coluna lida no passo 1 acima > 8 - vou para a coluna seguinte, 26 > > Estou fazendo isso com o código abaixo. Só que eu tenho 120 colunas. > > Por ser muito igual, já fiz confusão umas quatro ou cinco vezes com os > valores, com os nomes dos arquivos ou com os nomes das colunas. > > Há como otimizar isso ou é melhor ir na "unha" mesmo? > > Obrigado! > > #### LINALOL #### > > colnames(dados01)[25] # retorna o nome da coluna > boxcox(LINALOL ~ Genotipo * Tratamento, data=dados01, plotit = TRUE) > boxcox(LINALOL ~ Genotipo * Tratamento, data=dados01, plotit = TRUE, > lam = seq(-1, 1, 1/10)) > boxcox(LINALOL ~ Genotipo * Tratamento, data=dados01, plotit = TRUE, > lam = seq(-0.7, -0.65, 1/1000)) > ## vou ajustando até achar o lambda mais próximo > ## o valor aproximado de lambda é -0.655 > > dados01$LINALOL.boxcox <- (dados01$LINALOL^(-0.655) - 1)/(-0.655) > > fit25 <- lm(LINALOL.boxcox ~ Genotipo * Tratamento, data=dados01) > summary(fit25) > anova(fit25) > > ggqqplot(residuals(fit25)) # Os pontos devem estar ao longo da linha > # de referência. Senão, não é normal > > shapiro_test(residuals(fit25)) # se p-value for significativo, > # não é normal > > ### teste de homocedacidade das variâncias > ### se p < 0.05 (significativo), as variâncias não são homogêneas > > dados01 %>% > levene_test(LINALOL.boxcox ~ Genotipo * Tratamento) > > bxp <- ggboxplot( > dados01, x = "Genotipo", y = "LINALOL.boxcox", > color = "Tratamento", palette = "Set1", ylab = "LINALOL - boxcox", > ) > bxp > > pdf(file="LINALOL_boxcox.pdf") > bxp > dev.off() > > Obrigado > > -- > Marcelo > _______________________________________________ > 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. >
_______________________________________________ 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.
