#=============================================================================== #. Título: Análise de variância - ANOVA #. Curso : DEX076 - Metodologia e Estatística Experimental - Agronomia # Autor : José Cláudio Faria # Data : 2026-03-18 16:19:46 #=============================================================================== # Objetivos #=============================================================================== # - Exemplificar, através do R, análises e determinações numéricas do curso # de MEE, referentes a análise de variância básica sob os delineamentos: # DIC, DBC e DQL #=============================================================================== #. Pacotes necessários # - TukeyC # - gplots #install.packages('TukeyC') #install.packages('gplots') #. Delineamento inteiramente ao acaso - DIC #.. Dados # Gerar data.frame com os dados dic <- data.frame(tra=gl(4, 6, labels=LETTERS[1:4]), r=1:6, pro=c(58, 49, 51, 56, 50, 48, 60, 55, 66, 61, 54, 61, 59, 47, 44, 49, 62, 60, 45, 33, 34, 48, 42, 44)) ## Leitura via web #dic <- read.table('https://lec.pro.br/download/R/dados/dic_bal.txt', # head=TRUE, # dec=',') ## Se tiver o arquivo na máquina #dic <- read.table('./dados/dic_bal.txt', # head=TRUE, # dec=',') dic str(dic) #. Análise gráfica # Carregando o pacote gplots library(gplots) # Efeito dos tratamentos plotmeans(pro ~ tra, main='Tratamentos', data=dic, mean.labels=TRUE, digits=2, connect=FALSE, ylab='', xlab='', pch=' ', ylim=c(30, 70), ci.label=T) # Verificando os intervalos de confiança p/ média do gráfico 'plotmeans' t.test(dic$pro[1:6])$conf.int[1:2] # A t.test(dic$pro[7:12])$conf.int[1:2] # B t.test(dic$pro[13:18])$conf.int[1:2] # C t.test(dic$pro[19:24])$conf.int[1:2] # D #.. Verificação da adequação dos dados para análise sob DIC is.factor(dic$tra) #dic$tra <- factor(dic$tra) #is.factor(dic$tra) is.numeric(dic$pro) #.. ANOVA av_dic <- aov(pro ~ tra, data=dic) summary(av_dic) # Probabilidade associada ao quantil '10.7' pf(q=10.7, df1=3, df2=20, lower.tail=FALSE) 1 - pf(q=10.7, df1=3, df2=20) integrate(df, lower=10.7, upper=Inf, df1=3, df2=20)$value # Carregando o pacote TukeyC library(TukeyC) cv(av_dic) # Coef. de variação (cv: é uma função do pacote TukeyC) #. Delineamento em blocos casualizados - DBC #.. Dados # Gerar data.frame com os dados dbc <- data.frame(tra=gl(5, 4, labels=LETTERS[1:5]), blo=paste('B', 1:4, sep=''), pro=c(142.36, 144.78, 145.19, 138.88, 139.28, 137.77, 144.44, 130.61, 140.73, 134.06, 136.07, 144.11, 150.88, 135.83, 136.97, 136.36, 153.49, 165.02, 151.75, 150.22), stringsAsFactors=TRUE) ## Leitura via web #dbc <- read.table('https://lec.pro.br/download/R/dados/dbc.txt', # head=TRUE) ## Se tiver o arquivo na máquina #dbc <- read.table('./dados/dbc.txt', # head=TRUE) dbc str(dbc) #.. Análise gráfica #win.graph(w=5, h=6) par(mfrow=c(2, 1), mar=c(3, 4, 2, 1)) #bringToTop(s=T) library(gplots) #... Efeito dos blocos # Observar decréscimo da produção no sentido 1-4 # Os blocos estão controlando alguma fonte de variação reconecida! plotmeans(pro ~ blo, main='Blocos', data=dbc, mean.labels=TRUE, digits=2, connect=FALSE, ylab='', xlab='', pch=' ') #... Efeito dos tratamentos plotmeans(pro ~ tra, main='Tratamentos', data=dbc, col='red', mean.labels=TRUE, digits=2, connect=FALSE, ylab='Produção, gr (fruto)', xlab='', pch=' ') #.. Verificação da adequação dos dados para análise sob DBC is.factor(dbc$tra) is.factor(dbc$blo) is.numeric(dbc$pro) #.. ANOVA av_dbc <- aov(pro ~ blo + tra, data=dbc) summary(av_dbc) ## Carregando o pacote TukeyC #library(TukeyC) cv(av_dbc) # Coef. de variação #. Delineamento em quadrado latino - DQL #.. Dados # Gerar data.frame com os dados dql <- data.frame(tra=gl(5, 5, labels=LETTERS[1:5]), lin=1:5, col=c(2, 3, 5, 4, 1, 3, 4, 2, 1, 5, 4, 1, 3, 5, 2, 1, 5, 4, 2, 3, 5, 2, 1, 3, 4), pro=c(518, 524, 420, 486, 515, 458, 550, 384, 494, 318, 583, 724, 556, 501, 660, 432, 400, 297, 500, 438, 331, 478, 489, 313, 394)) ## Leitura via web #dql <- read.table('https://lec.pro.br/download/R/dados/dql.txt', # head=TRUE) ## Se tiver o arquivo na máquina #dql <- read.table('./dados/dql.txt', # head=TRUE) dql str(dql) #.. Análise gráfica #win.graph(w=5, h=6) par(mfrow=c(3, 1), mar=c(3, 4, 2, 1)) #bringToTop(s=T) library(gplots) #... Efeito do fator "lin" plotmeans(pro ~ lin, main='Linhas', data=dql, mean.labels=TRUE, digits=2, connect=FALSE, ylab='', xlab='', pch=' ') #... Efeito do fator "col" plotmeans(pro ~ col, main='Colunas', data=dql, mean.labels=TRUE, digits=2, connect=FALSE, ylab='', xlab='', pch=' ') #... Efeito do fator "tra" plotmeans(pro ~ tra, main='Tratamentos', data=dql, col='red', mean.labels=TRUE, digits=2, connect=FALSE, ylab='Produção, kg/ue', xlab='', pch=' ') #.. Verificação da adequação dos dados para análise sob DQL is.factor(dql$tra) # OK is.factor(dql$lin) # ATENÇÃO, NÃO OK -> NECESSÁRIO TRANSFORMAR is.factor(dql$col) # ATENÇÃO, NÃO OK -> NECESSÁRIO TRANSFORMAR #... Transformando ambos as fontes de variação (lin e col) para fator dql$lin <- factor(dql$lin) dql$col <- as.factor(dql$col) is.factor(dql$lin) # OK is.factor(dql$col) # OK is.numeric(dql$pro) # OK #... ANOVA av_dql <- aov(pro ~ lin + col + tra, data=dql) summary(av_dql) # Carregando o pacote TukeyC #library(TukeyC) cv(av_dql) # Coef. de variação