##################### LGN0313 - Melhoramento Genético ##################### ##################### Aula Prática 12 - Análises do R ##################### ##################### Prof. Roberto Fritsche-Neto ##################### ################################ #carregando arquivos da TUrma 1 ################################ turma1<-read.table("T1.txt", h=T) turma1$Bloco<-as.factor(turma1$Bloco) str(turma1) ############################################### # anova e herdabilidade - NF e AP ############################################### #agrupar os graficos que serão gerados par(mfrow=c(1,2)) # NF tapply(turma1$NF, turma1[,1:2], mean) # genotipos por bloco interaction.plot(turma1$Bloco, turma1$Hibrido, turma1$NF, legend = T, trace.label ="Hibrido", ylab="NF T1", xlab = "Bloco", col = 2) anova.t1.NF<-aov(NF~Bloco+Hibrido, data = turma1) anova(anova.t1.NF) (R<-anova(anova.t1.NF)[[1]][1]+1) # Número de repetições (Vg.t1.NF<-(anova(anova.t1.NF)[[3]][2]-anova(anova.t1.NF)[[3]][3])/R) (Ve.t1.NF<-anova(anova.t1.NF)[[3]][3]) (h.t1.NF<-Vg.t1.NF/(Vg.t1.NF+Ve.t1.NF/R)) # herdabilidade # AP tapply(turma1$AP, turma1[,1:2], mean) # genotipos por bloco interaction.plot(turma1$Bloco, turma1$Hibrido, turma1$AP, legend = T, trace.label ="Hibrido", ylab="AP T1", xlab = "Bloco", col = 3) anova.t1.AP<-aov(AP~Bloco+Hibrido, data = turma1) anova(anova.t1.AP) (Vg.t1.AP<-(anova(anova.t1.AP)[[3]][2]-anova(anova.t1.AP)[[3]][3])/R) (Ve.t1.AP<-anova(anova.t1.AP)[[3]][3]) (h.t1.AP<-Vg.t1.AP/(Vg.t1.AP+Ve.t1.AP/R)) ######################## # teste de medias ######################## #agrupar os graficos que serão gerados par(mfrow=c(1,2)) tukey.t1.NF<-TukeyHSD(x = anova.t1.NF, which = "Hibrido", ordered = T, conf.level = 0.95) tukey.t1.NF plot(tukey.t1.NF) tukey.t1.AP<-TukeyHSD(x = anova.t1.AP, which = "Hibrido", ordered = T, conf.level = 0.95) tukey.t1.AP plot(tukey.t1.AP) ################## #Ganho de seleção ################## # NF (Xo.t1.NF<-mean(sort(tapply(turma1$NF, turma1$Hibrido, mean), decreasing = T))) # media populacional (Xs.t1.NF<-mean(sort(tapply(turma1$NF, turma1$Hibrido, mean), decreasing = T)[1:2])) #media dos selecionados (DS.t1.NF<-Xs.t1.NF-Xo.t1.NF) # diferencial de seleção (GS.t1.NF<-DS.t1.NF*h.t1.NF) #ganho de seleção (GS.t1.NF.per<-GS.t1.NF/Xo.t1.NF*100) #ganho de seleção em percentagem # AP (Xo.t1.AP<-mean(sort(tapply(turma1$AP, turma1$Hibrido, mean), decreasing = T))) # media populacional (Xs.t1.AP<-mean(sort(tapply(turma1$AP, turma1$Hibrido, mean), decreasing = T)[1:2])) #media dos selecionados (DS.t1.AP<-Xs.t1.AP-Xo.t1.AP) # diferencial de seleção (GS.t1.AP<-DS.t1.AP*h.t1.AP) #ganho de seleção (GS.t1.AP.per<-GS.t1.AP/Xo.t1.AP*100) #ganho de seleção em percentagem ################# # Interação GxA ################# #carregando arquivo da outra turma turma2<-read.table("T2.txt", h=T) turma2$Bloco<-as.factor(turma2$Bloco) str(turma2) datagxa<-rbind(turma1, turma2) #unindo os dados das duas turmas datagxa$Turma<-as.factor(c(rep(1,20), rep(2, 20))) #criando o fator turma (ambiente) str(datagxa) head(datagxa); tail(datagxa) #agrupar os graficos que serão gerados par(mfrow=c(1,2)) # Anova conjunta com efeito de bloco dentro de turma #NF tapply(datagxa$NF, datagxa[,c(1,5)], mean) # 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 = T, trace.label ="Hibrido", ylab="NF", xlab = "Turma", col = 10) #AP tapply(datagxa$AP, datagxa[,c(1,5)], mean) # 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 = T, trace.label ="Hibrido", ylab="AP", xlab = "Turma", col = 11) ###################### # correlação genetica ###################### turma1$APNF<-as.numeric(turma1$AP+turma1$NF) #criando variavel acessória head(turma1) t1.APNF<-aov(APNF~Bloco+Hibrido, data = turma1) anova(t1.APNF) #covariancia fenotipica (COVF.t1<-(anova(t1.APNF)[[3]][2]-anova(anova.t1.NF)[[3]][2]-anova(anova.t1.AP)[[3]][2])/2) #covariancia ambiental (COVe.t1<-(anova(t1.APNF)[[3]][3]-anova(anova.t1.NF)[[3]][3]-anova(anova.t1.AP)[[3]][3])/2) #covariancia genetica (COVg.t1<-(COVF.t1-COVe.t1)/R) #correlação genética (corg.t1<-COVg.t1/sqrt(Vg.t1.NF*Vg.t1.AP)) ####################################### # ganho indireto e direto com a seleção ####################################### # função para estimar o i da intensidade de seleção i<-function(persel){ estimate<-dnorm(qnorm(1-(persel/100), 0, 1), 0, 1)/(persel/100) return(estimate) } (isel<-i(40)) # selecionando os dois melhores dos cinco hibridos # Ganho indireto de seleção do NF da AP (GSi.t1<-isel*corg.t1*sqrt(h.t1.NF)*sqrt(Vg.t1.AP)) # Ganhos diretos de seleção (GSd.t1.NF<-isel*1.00*sqrt(h.t1.NF)*sqrt(Vg.t1.NF)) (GSd.t1.AP<-isel*1.00*sqrt(h.t1.AP)*sqrt(Vg.t1.AP)) ##################################### FIM ################################## ##################### LGN0313 - Melhoramento Genético ##################### ##################### Aula Prática 12 - Análises do R ##################### ##################### Prof. Roberto Fritsche-Neto ##################### ################################ #carregando arquivos da turma 2 ################################ turma2<-read.table("T2.txt", h=T) turma2$Bloco<-as.factor(turma2$Bloco) str(turma2) ####################################### # anova e herdabilidade - para 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 = T, trace.label ="Hibrido", ylab="NF T2", xlab = "Bloco", col = 4) 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 (Vg.t2.NF<-(anova(anova.t2.NF)[[3]][2]-anova(anova.t2.NF)[[3]][3])/R) (Ve.t2.NF<-anova(anova.t2.NF)[[3]][3]) (h.t2.NF<-Vg.t2.NF/(Vg.t2.NF+Ve.t2.NF/R)) # herdabilidade # AP tapply(turma2$AP, turma2[,1:2], mean) # genotipos por bloco interaction.plot(turma2$Bloco, turma2$Hibrido, turma2$AP, legend = T, trace.label ="Hibrido", ylab="AP T2", xlab = "Bloco", col = 6) anova.t2.AP<-aov(AP~Bloco+Hibrido, data = turma2) anova(anova.t2.AP) (Vg.t2.AP<-(anova(anova.t2.AP)[[3]][2]-anova(anova.t2.AP)[[3]][3])/R) (Ve.t2.AP<-anova(anova.t2.AP)[[3]][3]) (h.t2.AP<-Vg.t2.AP/(Vg.t2.AP+Ve.t2.AP/R)) ################# # 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 = T, conf.level = 0.95) tukey.t2.NF plot(tukey.t2.NF) tukey.t2.AP<-TukeyHSD(x = anova.t2.AP, which = "Hibrido", ordered = T, conf.level = 0.95) tukey.t2.AP plot(tukey.t2.AP) ################## #Ganho de seleção ################## # NF (Xo.t2.NF<-mean(sort(tapply(turma2$NF, turma2$Hibrido, mean), decreasing = T))) # media populacional (Xs.t2.NF<-mean(sort(tapply(turma2$NF, turma2$Hibrido, mean), decreasing = T)[1:2])) #media 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 percentagem # AP (Xo.t2.AP<-mean(sort(tapply(turma2$AP, turma2$Hibrido, mean), decreasing = T))) # media populacional (Xs.t2.AP<-mean(sort(tapply(turma2$AP, turma2$Hibrido, mean), decreasing = T)[1:2])) #media 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 percentagem ################# # Interação GxA ################# # carregando os dados da outra turma turma1<-read.table("T1.txt", h=T) turma1$Bloco<-as.factor(turma1$Bloco) str(turma1) datagxa<-rbind(turma1, turma2) #unindo os dados das duas turmas datagxa$Turma<-as.factor(c(rep(1,20), rep(2, 20))) #criando o fator turma (ambiente) str(datagxa) head(datagxa); tail(datagxa) #agrupar os graficos que serão gerados par(mfrow=c(1,2)) # Anova conjunta com efeito de bloco dentro de turma #NF tapply(datagxa$NF, datagxa[,c(1,5)], mean) # 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 = T, trace.label ="Hibrido", ylab="NF", xlab = "Turma", col = 10) #AP tapply(datagxa$AP, datagxa[,c(1,5)], mean) # 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 = T, trace.label ="Hibrido", ylab="AP", xlab = "Turma", col = 11) ##################### # correlação genetica ##################### turma2$APNF<-as.numeric(turma2$AP+turma2$NF) #criando variavel acessória head(turma2) t2.APNF<-aov(APNF~Bloco+Hibrido, data = turma2) anova(t2.APNF) #covariancia fenotipica (COVF.t2<-(anova(t2.APNF)[[3]][2]-anova(anova.t2.NF)[[3]][2]-anova(anova.t2.AP)[[3]][2])/2) #covariancia ambiental (COVe.t2<-(anova(t2.APNF)[[3]][3]-anova(anova.t2.NF)[[3]][3]-anova(anova.t2.AP)[[3]][3])/2) #covariancia genetica (COVg.t2<-(COVF.t2-COVe.t2)/R) #correlação genética (corg.t2<-COVg.t2/sqrt(Vg.t2.NF*Vg.t2.AP)) ######################################## # ganho indireto e direto com a seleção ######################################## # função para estimar o i da intensidade de seleção i<-function(persel){ estimate<-dnorm(qnorm(1-(persel/100), 0, 1), 0, 1)/(persel/100) return(estimate) } (isel<-i(40)) # selecionando os dois melhores dos cinco hibridos # Ganho indireto de seleção do NF da AP (GSi.t2<-isel*corg.t2*sqrt(h.t2.NF)*sqrt(Vg.t2.AP)) # Ganhos diretos de seleção (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 ##################################