#=============================================================================== #. Name : gexp_quant_dexp_bas #. Author : J.C.Faria # Date : 2024-10-17 20:11:48 # Aim : Gerar/simular e analisar experimentos quantitativos # 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' #.. ___DIC___ set.seed(1) dic <- gexp(mu=10, r=4, fe=list(f1=c(10, 20, 30, 40, 50)), fl=list(X=factor(1:5))) str(dic) summary(dic) par(mfrow=c(1, 1)) plot(dic, main='DIC') ## Calculando as médias de tratamentos (dic_m <- aggregate(Y1 ~ X, data=dic$dfm, mean)) dic_m$X <- as.numeric(dic_m$X) ## Diagrama de dispersão com as médias do níveis de 'X' with(dic_m, plot(Y1 ~ X, ylab='m(Y1)', ylim=c(min(Y1), 102/100*max(Y1)), pch=19, col='blue')) # ANOVA av_dic <- aov(Y1 ~ X, dic$dfm) summary(av_dic) ## Ajustando modelo linear (I grau) e visualizando os resultados reg <- lm(Y1 ~ X, data=dic_m) summary(reg) ## Visualizar médias e modelo linear ajustado lines(spline(dic_m$X, fitted(reg), n=1e3), # n -> argumento de suavização lwd=2, col='red') #.. ___DBC___ set.seed(2) dbc <- gexp(mu=10, r=2, fe=list(f1=c(0, 20, 30, 20, 10)), fl=list(X=factor(1:5)), blke=c(1, 2, 3), blkl=list(BLO=c('b1', 'b2', 'b3')), des='RCBD') str(dbc) summary(dbc) plot(dbc, main='DBC') ## Calculando as médias de tratamentos (dbc_m <- aggregate(Y1 ~ X, data=dbc$dfm, mean)) dbc_m$X <- as.numeric(dbc_m$X) ## Diagrama de dispersão com as médias do níveis de 'X' with(dbc_m, plot(Y1 ~ X, ylab='m(Y1)', ylim=c(min(Y1), 110/100*max(Y1)), pch=19, col='blue')) # ANOVA av_dbc <- aov(Y1 ~ BLO + X, dbc$dfm) summary(av_dbc) ## Ajustando modelo linear (II grau) e visualizando os resultados reg <- lm(Y1 ~ X + I(X^2), data=dbc_m) summary(reg) ## Visualizar médias e modelo linear ajustado lines(spline(dbc_m$X, fitted(reg), n=1e2), # n -> argumento de suavização lwd=2, col='red') #.. ___DQL___ set.seed(3) dql <- gexp(mu=10, r=1, fe=list(f1=c(10, 20, 25, 20, 10)), fl=list(X=factor(1:5)), rowe=c(1, 2, 3, 4, 5), rowl=list(LIN=paste0('l', 1:5)), cole=c(5, 4, 3, 2, 1), coll=list(COL=paste0('c', 1:5)), des='LSD') str(dql) summary(dql) plot(dql, main='DQL') ## Calculando as médias de tratamentos (dql_m <- aggregate(Y1 ~ X, data=dql$dfm, mean)) dql_m$X <- as.numeric(dql_m$X) ## Diagrama de dispersão com as médias do níveis de 'X' with(dql_m, plot(Y1 ~ X, ylab='m(Y1)', ylim=c(min(Y1), 102/100*max(Y1)), pch=19, col='blue')) # ANOVA av_dql <- aov(Y1 ~ LIN + COL + X, dql$dfm) summary(av_dql) ## Ajustando modelo linear (II grau) e visualizando os resultados reg <- lm(Y1 ~ X + I(X^2), data=dql_m) summary(reg) ## Visualizar médias e modelo linear ajustado lines(spline(dql_m$X, fitted(reg), n=1e2), # n -> argumento de suavização lwd=2, col='red') #.. DBC|M (usado na elaboração de provas práticas) n_al <- 5 n_bl <- 4 r <- 1 set.seed(20242) rcbd_M <- gexp(mu=sample(10:50, n_al), r=r, fe=list(f1=matrix(c(10, 20, 30, 35, 30, 20, 10), ncol=n_al, nrow=7, byrow=FALSE)), fl=list(N=factor(1:7)), blke=matrix(sample(1:10, n_bl), ncol=n_al, nrow=n_bl, byrow=FALSE), blkl=list(Blo=paste0('B', 1:n_bl)), round=1, design='RCBD') #str(rcbd_M) summary(rcbd_M) plot(rcbd_M) # ANOVA av <- aov(Y1 ~ Blo + N, data=rcbd_M$dfm) str(rcbd_M$dfm) summary(av) # Calculando as médias de tratamentos (dbc_m <- aggregate(Y1 ~ N, data=rcbd_M$dfm, mean)) dbc_m$N <- as.numeric(dbc_m$N) # Diagrama de dispersão com as médias do níveis de 'X' with(dbc_m, plot(Y1 ~ N, ylab='m(Y1)', ylim=c(min(Y1), 110/100*max(Y1)), pch=19, col='blue')) # Ajustando modelo linear (III grau) e visualizando os resultados reg <- lm(Y1 ~ N + I(N^2) + I(N^3), data=dbc_m) summary(reg) # Visualizar médias e modelo linear ajustado lines(spline(dbc_m$N, fitted(reg), n=1e2), # n -> argumento de suavização lwd=2, col='red')