##################### LGN0313 - Melhoramento Genetico ############ ##################### Aula Pratica 12 - Analises no R ############ ##################### Prof. Roberto Fritsche-Neto ############ ###################################### # selecionando o diretório de trabalho ###################################### getwd() setwd("") ################################ # carregando arquivos da Turma 2 ################################ turma2 <- read.table(file = "turma2.txt", header = TRUE, sep = "\t") head(turma2) str(turma2) turma2$bloco <- as.factor(turma2$bloco) turma2$AP <- as.numeric(turma2$AP) str(turma2) ############################################### # anova e herdabilidade - NF e AP ############################################### # agrupar os graficos que serão gerados par(mfrow = c(1,2)) # NF tapply(turma2$NF, turma2[,1:2], mean) # genotipos por bloco interaction.plot(turma2$bloco, turma2$hibrido, turma2$NF, legend = TRUE, trace.label = "Hibrido", ylab = "NF T2", xlab = "Bloco", col = 2) anova.t2.NF <- aov(NF ~ bloco + hibrido, data = turma2) anova(anova.t2.NF) (R <- anova(anova.t2.NF)[1, 1] + 1) # número de repetições (QM_Res_NF<- anova(anova.t2.NF)[3, 3]) # quadrado médio do resíduo (QM_Hib_NF <- anova(anova.t2.NF)[2, 3]) # quadrado médio de híbrido # Teste F (QM_Hib_NF / QM_Res_NF) # F calculado qf(p = 0.95, df1 = 4, df2 = 12) # F tabelado # componentes de variâncias (Vg.t2.NF <- ((QM_Hib_NF - QM_Res_NF) / R)) (Ve.t2.NF <- QM_Res_NF) # herdabilidade (h.t2.NF <- Vg.t2.NF/(Vg.t2.NF + (Ve.t2.NF/R))) # CV% (CV.t2.NF <- (sqrt(QM_Res_NF) / mean(turma2$NF)) * 100) # AP tapply(turma2$AP, turma2[,1:2], mean) # genotipos por bloco interaction.plot(turma2$bloco, turma2$hibrido, turma2$AP, legend = TRUE, trace.label = "Hibrido", ylab = "AP T2", xlab = "Bloco", col = 3) anova.t2.AP <- aov(AP ~ bloco + hibrido, data = turma2) anova(anova.t2.AP) (QM_Res_AP <- anova(anova.t2.AP)[3, 3]) # quadrado médio do resíduo (QM_Hib_AP <- anova(anova.t2.AP)[2, 3]) # quadrado médio de híbrido # Teste F (QM_Hib_AP / QM_Res_AP) # F calculado qf(p = 0.95, df1 = 4, df2 = 12) # F tabelado # componentes de variâncias (Vg.t2.AP <- ((QM_Hib_AP - QM_Res_AP) / R)) (Ve.t2.AP <- QM_Res_AP) # herdabilidade (h.t2.AP <- Vg.t2.AP/(Vg.t2.AP + (Ve.t2.AP/R))) # CV% (CV.t2.AP <- (sqrt(QM_Res_AP) / mean(turma2$AP)) * 100) ######################## # teste de medias ######################## # agrupar os graficos que ser?o gerados par(mfrow = c(1,2)) tukey.t2.NF <- TukeyHSD(x = anova.t2.NF, which = "hibrido", ordered = TRUE, conf.level = 0.95) tukey.t2.NF plot(tukey.t2.NF) tukey.t2.AP <- TukeyHSD(x = anova.t2.AP, which = "hibrido", ordered = TRUE, conf.level = 0.95) tukey.t2.AP plot(tukey.t2.AP) # usando o pacote agricolae library("agricolae") agr.tukey.t2.NF <- HSD.test(y = anova.t2.NF, trt = "hibrido", group = TRUE, alpha = 0.05) plot(agr.tukey.t2.NF) agr.tukey.t2.AP <- HSD.test(y = anova.t2.AP, trt = "hibrido", group = TRUE, alpha = 0.05) plot(agr.tukey.t2.AP) ################## # Ganho de selecao ################## # NF (Xo.t2.NF <- mean(turma2$NF)) # média populacional (Xs.t2.NF <- mean(sort(tapply(turma2$NF, turma2$hibrido, mean), decreasing = TRUE)[1:2])) # média dos selecionados (DS.t2.NF <- (Xs.t2.NF - Xo.t2.NF)) # diferencial de seleção (GS.t2.NF <- DS.t2.NF * h.t2.NF) # ganho de seleção (GS.t2.NF.per <- (GS.t2.NF / Xo.t2.NF) * 100) # ganho de seleção em % # AP (Xo.t2.AP <- mean(turma2$AP)) # média populacional (Xs.t2.AP <- mean(sort(tapply(turma2$AP, turma2$hibrido, mean), decreasing = TRUE)[1:2])) # média dos selecionados (DS.t2.AP <- (Xs.t2.AP - Xo.t2.AP)) # diferencial de seleção (GS.t2.AP <- DS.t2.AP * h.t2.AP) # ganho de seleção (GS.t2.AP.per <- (GS.t2.AP / Xo.t2.AP) * 100) # ganho de seleção em % ################# # Interacao GxA ################# # carregando arquivo da outra turma turma4 <- read.table(file = "turma4.txt", header = TRUE, sep = "\t") head(turma4) str(turma4) turma4$bloco <- as.factor(turma4$bloco) turma4$AP <- as.numeric(turma4$AP) str(turma4) datagxa <- rbind(turma2, turma4) # unindo os dados das duas turmas datagxa$turma <- as.factor(rep(1:2, each = 20)) # criando o fator turma (ambiente) head(datagxa) tail(datagxa) str(datagxa) # agrupar os graficos que serao gerados par(mfrow = c(1,2)) #################################################### # Anova conjunta com efeito de bloco dentro de turma #################################################### # NF tapply(datagxa$NF, datagxa[,c(1,5)], mean) # média dos genotipos por turma gxa.NF <- aov(NF ~ turma:bloco + turma + hibrido + turma * hibrido, data = datagxa) anova(gxa.NF) interaction.plot(datagxa$turma, datagxa$hibrido, datagxa$NF, legend = TRUE, trace.label = "Hibrido", ylab = "NF", xlab = "Turma", col = 10) # AP tapply(datagxa$AP, datagxa[,c(1,5)], mean) # média dos genotipos por turma gxa.AP <- aov(AP ~ turma:bloco + turma + hibrido + turma * hibrido, data = datagxa) anova(gxa.AP) interaction.plot(datagxa$turma, datagxa$hibrido, datagxa$AP, legend = TRUE, trace.label = "Hibrido", ylab = "AP", xlab = "Turma", col = 11) ###################### # correlacao genetica ###################### turma2$APNF <- as.numeric(turma2$AP + turma2$NF) # criando variavel acessoria head(turma2) t2.APNF <- aov(APNF ~ bloco + hibrido, data = turma2) anova(t2.APNF) # covariancia fenotipica (QM_Hib_APNF <- anova(t2.APNF)[2, 3]) (COVF.t2 <- (QM_Hib_APNF - QM_Hib_NF - QM_Hib_AP) / 2) # covariancia ambiental (QM_Res_APNF <- anova(t2.APNF)[3, 3]) (COVe.t2 <- (QM_Res_APNF - QM_Res_NF - QM_Res_AP) / 2) # covariancia genetica (COVg.t2 <- (COVF.t2 - COVe.t2) / R) # correlacao genetica (corg.t2 <- COVg.t2 / sqrt(Vg.t2.NF * Vg.t2.AP)) ####################################### # ganho indireto e direto com a selecao ####################################### # funcao para estimar o i da intensidade de selecao i <- function(persel){ estimate <- dnorm(qnorm(p = (1 - (persel / 100)), mean = 0, sd = 1), mean = 0, sd = 1) / (persel / 100) return(estimate) } (isel <- i(40)) # selecionando os dois melhores dos cinco hibridos # Ganho indireto de selecao do NF e da AP (GSi.t2 <- isel * corg.t2 * sqrt(h.t2.NF) * sqrt(Vg.t2.AP)) # Ganhos diretos de selecao (GSd.t2.NF <- isel * 1.00 * sqrt(h.t2.NF) * sqrt(Vg.t2.NF)) (GSd.t2.AP <- isel * 1.00 * sqrt(h.t2.AP) * sqrt(Vg.t2.AP)) ##### FIM #####