#=============================================================================== #. Name : gexp_quali_fe #. Author : J.C.Faria # Date : 06/10/2022 01:33:35 # Aim : Gerar/simular e anlisar experimentos qualitativos fatoriais nos # delineamentos experimentais básicos: # - Del. Inteiramente ao Acaso - DIC # - Del. Blocos Casualizados - DBC # - Del. Quadrado Latino - DQL # Mail : <<< joseclaudio.faria@gmail.com >>> #=============================================================================== #.. Instalação do pacote 'gexp' #... do GitHub: via devtools #install.packages('devtools', dep=TRUE) #library(devtools) #install_github('ivanalaman/gexp') #... do GitHub: via pacman #install.packages('pacman', dep=TRUE) #p_load_gh('ivanalaman/gexp') #... do CRAN # install.packages('gexp') #.. Anexando o pacote #... Necessita gexp >= 1.0.2 library(gexp) packageVersion('gexp') >= '1.0.2' #.. ___EF/DIC___ r <- 4 # Número de repetições do experimento set.seed(1) ef_dic <- gexp(mu=10, r=r, fl=list(A=c('a1', 'a2'), B=c('b1', 'b2')), fe=list(f1=c(0, 3), f2=c(3, 0)), inte=c(0, #a1 b1 * 0, #a2 b1 5, #a1 b2 0), #a2 b2 #... Descomente abaixo p/ erro experimental = 0 # err=matrix(0, # nrow=2^2*r), round=0, type='FE', design='CRD', ) str(ef_dic) summary(ef_dic) par(mfrow=c(1, 1)) plot(ef_dic, main='EF sob DIC') # Gráfico dos efeitos par(mfrow=c(2, 1)) with(ef_dic$dfm, interaction.plot(A, B, Y1, xlab='A', ylab='Y1', col='blue3', lwd=2, ylim=c(min(Y1), max(Y1)))) with(ef_dic$dfm, interaction.plot(B, A, Y1, xlab='B', ylab='Y1', col='blue3', lwd=2, ylim=c(min(Y1), max(Y1)))) # *: Para entender o argumento 'inte' (efeito da interação) (expand.grid(A=c('a1', 'a2'), B=c('b1', 'b2'))) # ANOVA av_ef_dic <- aov(Y1 ~ A + B + A*B, ef_dic$dfm) summary(av_ef_dic) library(TukeyC) cv(av_ef_dic) # TCMM #a1:B summary(TukeyC(av_ef_dic, which='A:B', fl1=1)) #a2:B summary(TukeyC(av_ef_dic, which='A:B', fl1=2)) #b1:A summary(TukeyC(av_ef_dic, which='B:A', fl1=1)) #b2:A summary(TukeyC(av_ef_dic, which='B:A', fl1=2)) # Plot par(mfrow=c(2, 2)) #a1:B plot(TukeyC(av_ef_dic, which='A:B', fl1=1), main='a1:B', disp='mm', xlab='', ylab='') #a2:B plot(TukeyC(av_ef_dic, disp='mm', which='A:B', fl1=2), main='a2:B', disp='mm', xlab='', ylab='') #b1:A plot(TukeyC(av_ef_dic, disp='mm', which='B:A', fl1=1), main='b1:A', disp='mm', xlab='tra', ylab='Y1') #b2:A plot(TukeyC(av_ef_dic, disp='mm', which='B:A', fl1=2), main='b2:A', xlab='', ylab='') #.. ___EF/DBC___ set.seed(2) ef_dbc <- gexp(mu=10, r=1, fl=list(A=c('a1', 'a2'), B=c('b1', 'b2')), fe=list(f1=c(0, 3), f2=c(3, 0)), inte=c(0, #a1 b1 * 0, #a2 b1 5, #a1 b2 0), #a2 b2 blke=c(1, 2, 3, 4, 5), blkl=list(BLO=paste0('b', 1:5)), round=1, type='FE', design='RCBD', ) str(ef_dbc) summary(ef_dbc) par(mfrow=c(1, 1)) plot(ef_dbc, main='EF sob DBC') # Gráfico dos efeitos par(mfrow=c(2, 1)) with(ef_dbc$dfm, interaction.plot(A, B, Y1, xlab='A', ylab='Y1', col='blue3', lwd=2, ylim=c(min(Y1), max(Y1)))) with(ef_dbc$dfm, interaction.plot(B, A, Y1, xlab='B', ylab='Y1', col='blue3', lwd=2, ylim=c(min(Y1), max(Y1)))) # *: Para entender o argumento 'inte' (efeito da interação) (expand.grid(A=c('a1', 'a2'), B=c('b1', 'b2'))) # ANOVA av_ef_dbc <- aov(Y1 ~ BLO + A + B + A*B, ef_dbc$dfm) summary(av_ef_dbc) library(TukeyC) cv(av_ef_dbc) # TCMM #a1:B summary(TukeyC(av_ef_dbc, which='A:B', fl1=1)) #a2:B summary(TukeyC(av_ef_dbc, which='A:B', fl1=2)) #b1:A summary(TukeyC(av_ef_dbc, which='B:A', fl1=1)) #b2:A summary(TukeyC(av_ef_dbc, which='B:A', fl1=2)) # Plot par(mfrow=c(2, 2)) #a1:B plot(TukeyC(av_ef_dbc, which='A:B', fl1=1), main='a1:B', disp='mm', xlab='', ylab='') #a2:B plot(TukeyC(av_ef_dbc, disp='mm', which='A:B', fl1=2), main='a2:B', disp='mm', xlab='', ylab='') #b1:A plot(TukeyC(av_ef_dbc, disp='mm', which='B:A', fl1=1), main='b1:A', disp='mm', xlab='tra', ylab='Y1') #b2:A plot(TukeyC(av_ef_dbc, disp='mm', which='B:A', fl1=2), main='b2:A', xlab='', ylab='') #.. ___EF/DQL___ set.seed(3) ef_dql <- gexp(mu=10, r=1, fl=list(A=c('a1', 'a2', 'a3'), B=c('b1', 'b2')), fe=list(f1=c(0, 3, 1), f2=c(3, 0)), inte=c(0, #a1 b1 0, #a2 b1 0, #a3 b1 5, #a1 b2 0, #a2 b2 0), #a3 b2 rowe=c(1, 2, 3, 4, 5, 6), rowl=list(LIN=paste0('l', 1:6)), cole=c(6, 5, 4, 3, 2, 1), coll=list(COL=paste0('c', 1:6)), round=1, type='FE', design='LSD', ) str(ef_dql) #----------------------------------------------------- # Adequação para fatores dos tratamentos gerados pelo # pacote gexp #----------------------------------------------------- packageVersion('gexp') # Adequação necessária se pacote gexp < 1.0.2 if (packageVersion('gexp') < '1.0.2') { if (!is.factor(ef_dql$dfm$A)) { ef_dql$dfm$A <- factor(ef_dql$dfm$A) ef_dql$dfm$B <- factor(ef_dql$dfm$B) } } str(ef_dql$dfm) #----------------------------------------------------- summary(ef_dql) par(mfrow=c(1, 1)) plot(ef_dql, main='EF sob DQL') # Gráfico dos efeitos par(mfrow=c(2, 1)) with(ef_dql$dfm, interaction.plot(A, B, Y1, xlab='A', ylab='Y1', col='blue3', lwd=2, ylim=c(min(Y1), max(Y1)))) with(ef_dql$dfm, interaction.plot(B, A, Y1, xlab='B', ylab='Y1', col='blue3', lwd=2, ylim=c(min(Y1), max(Y1)))) # *: Para entender o argumento 'inte' (efeito da interação) (expand.grid(A=c('a1', 'a2', 'a3'), B=c('b1', 'b2'))) # ANOVA av_ef_dql <- aov(Y1 ~ LIN + COL + A + B + A*B, ef_dql$dfm) summary(av_ef_dql) library(TukeyC) cv(av_ef_dql) # TCMM #a1:B summary(TukeyC(av_ef_dql, which='A:B', fl1=1)) #a2:B summary(TukeyC(av_ef_dql, which='A:B', fl1=2)) #a3:B summary(TukeyC(av_ef_dql, which='A:B', fl1=3)) #b1:A summary(TukeyC(av_ef_dql, which='B:A', fl1=1)) #b2:A summary(TukeyC(av_ef_dql, which='B:A', fl1=2)) # Plot par(mfrow=c(2, 3)) #a1:B plot(TukeyC(av_ef_dql, which='A:B', fl1=1), main='a1:B', disp='mm', xlab='', ylab='') #a2:B plot(TukeyC(av_ef_dql, disp='mm', which='A:B', fl1=2), main='a2:B', disp='mm', xlab='', ylab='') #a3:B plot(TukeyC(av_ef_dql, disp='mm', which='A:B', fl1=3), main='a3:B', disp='mm', xlab='', ylab='') #b1:A plot(TukeyC(av_ef_dql, disp='mm', which='B:A', fl1=1), main='b1:A', disp='mm', xlab='tra', ylab='Y1') #b2:A plot(TukeyC(av_ef_dql, disp='mm', which='B:A', fl1=2), main='b2:A', xlab='', ylab='')