Introdução

O DBC é também denominado delineamento em blocos ap acaso ou ainda delineamento em blocos completos casualizados e se constitui no mais utilizado de todos os delineamentos experimentais (BANZATO & CRONKA, 2008).

Este delineamentoleva em consideração os três princípios básicos da experimentação.

As principais características deste delineamento são:

  1. as parcelas são distribuídas em grupos ou blocos (princípio do controle local), de tal forma que elas sejam o mais unifomes possível, dentro de cada bloco;

  2. o número de parcelas por bloco deve ser um múltiplo do número de tratamentos (geralmente é igual ao número de tratamentos);

  3. os tratamentos são designados às parcelas de forma casual, sendo esta casualização feita dentro de cada bloco.

Casualização dos tratamentos nas unidades experimentais

Deve ser feita uma casualização independente dos tratamentos em cada bloco.

Por exemplo, supor que fossem 4 cultivares (A,B,C,D) que seriam testados em 6 blocos. A casualização dos cultivares para cada bloco seria a seguinte:

Bloco 1 C1 D1 A1 B1
Bloco 2 D2 A2 B2 C2
Bloco 3 B3 C4 A4 D4
Bloco 4 B4 C4 A4 D4
Bloco 5 A5 C5 D5 B5
Bloco 6 D6 B6 C6 A6

Exemplo

Estudar três espécies madeiráveis e uma leguminosa como sombra para um plantio de cacau estabelecido, assim como o efeito sobre a produção de cacau em 5 repetições. Se medirá o DAP (diãmetro à altura do peito) e o rendimento do cacau.

Fator de estudo:4 tratamentos ( 3 sps madeiráveis e 1 leguminosa)

Repetições: 5

O desenho do experimento pode ser realizado com o programa R:

require(agricolae)
## Loading required package: agricolae
tratamentos<- c("Cedro", "Parica", "Andiroba", "Tachi")
repeticoes<- 5
design <- design.rcbd(tratamentos, repeticoes)
design
## $parameters
## $parameters$design
## [1] "rcbd"
## 
## $parameters$trt
## [1] "Cedro"    "Parica"   "Andiroba" "Tachi"   
## 
## $parameters$r
## [1] 5
## 
## $parameters$serie
## [1] 2
## 
## $parameters$seed
## [1] -248518521
## 
## $parameters$kinds
## [1] "Super-Duper"
## 
## $parameters[[7]]
## [1] TRUE
## 
## 
## $sketch
##      [,1]       [,2]       [,3]     [,4]      
## [1,] "Cedro"    "Parica"   "Tachi"  "Andiroba"
## [2,] "Andiroba" "Parica"   "Cedro"  "Tachi"   
## [3,] "Parica"   "Andiroba" "Cedro"  "Tachi"   
## [4,] "Tachi"    "Andiroba" "Parica" "Cedro"   
## [5,] "Parica"   "Cedro"    "Tachi"  "Andiroba"
## 
## $book
##    plots block tratamentos
## 1    101     1       Cedro
## 2    102     1      Parica
## 3    103     1       Tachi
## 4    104     1    Andiroba
## 5    201     2    Andiroba
## 6    202     2      Parica
## 7    203     2       Cedro
## 8    204     2       Tachi
## 9    301     3      Parica
## 10   302     3    Andiroba
## 11   303     3       Cedro
## 12   304     3       Tachi
## 13   401     4       Tachi
## 14   402     4    Andiroba
## 15   403     4      Parica
## 16   404     4       Cedro
## 17   501     5      Parica
## 18   502     5       Cedro
## 19   503     5       Tachi
## 20   504     5    Andiroba

getwd() setwd(“/home/roberval/Documentos/UFAM-2016-Mestrado_Estat_Exp/Notas_de_Aulas-2016/Aula6-DBA”) livro_campo<-design$book write.table(livro_campo, file=“livro_campo.csv”)

Modelo Matemático e hipóteses básicas para a validade da análise de variãncia

No delineamento em blocos casualizados, controlamos uma causa de variação amais, que são os blocos, de forma que o modelo matemático deve mostrar esse controle

As observaçõeses oriundas do DBC se adequam ao modelo matemático:

\(y_{ij}=\mu+\tau_{i}+\beta_{j}+\epsilon_{ij}\)

onde:

\(y_{ij}\) = valor de uma observação correspondente ao i-ésimo tratamento no bloco j.

\(\mu\) = média da população.

\(\tau_{ij}\)= efeito do i-ésimo tratamento aplicado na parcela.

\(\beta_{j}\)= efeito do j-ésimo bloco em que se encontra a parcela.

\(\epsilon_{ij}\) = erro experimental associado ao efeito dos fatores não controlados do iésimo tratamento na j-ésima parcela.

Pressuposto o modelo matemático, as hipóteses básicas que devemos admitir para a validade da análise de variãncia são:

  1. Aditividade

  2. Independência: os erros ou desvios \(e_{ij}\) devidos aos efeitos de fatores não controláveis devem ser independentes. Isso implica que os efeitos de tratamentos sejam independentes, que não haja correlação entre eles. Isso podenão ocorrer quando os tratamentos são níveis crescentes de adubos, inseticidas, fungicidas, herbicidas. Ocasião em que a análise de variância dever ser feita estudando-se a regresssão.

  3. Homogeneidade de variância: os erros ou desvios \(e_{ij}\) devidos aos efeitos de fatores não controlados devem possuir uma variância comum \(\sigma^2\).

  4. Normalidade

O quadro de análise de variâcia é dado da seguinte forma:

Fator de Variação GL Soma Quadrados Quadrado Médio Teste F
Tratamentos i-1 SQTr QMTr QMTr/QMR
Blocos J-1 SQb QMb QMb/QMR
Resíduo (i-1((j-1) SQR
Total ij-1 SQT

Atividade Prática do Delineamento em Blocos ao Acaso

Serão utilizados os dados do experimento sobre percentual de óleo em S. linicola em diferentes estágios de crescimento, conduzido no Delineamento em Blocos Completos Casualizados.

Tabela 1. Conteúdo de óleo de S. Linicola, em percentagem, em vários estágios de crescimento (Steel & Torrie, 1980).

B l o c o s
Estágios I II III IV
estag1 4,4 5,9 6,0 4,1
estag2 3,3 1,9 4,9 7,1
estag3 4,4 4,0 4,5 3,1
estag4 6,8 6,6 7,0 6,4
estag5 6,3 4,9 5,9 7,1
estag6 6,4 7,3 7,7 6,7

Vamos aqui usar a função scan e entrar com os dados por linha da tabela. Digitamos o comando abaixo e a função scan recebe os dados. Depois de digitar o último dado digitamos ENTER em um campo em branco e a função encerra a entrada de dados retornando para o prompt do programa.

resp<-scan()

%resp<-scan()

Agora vamos montar um data.frame com os dados e os indicadores de blocos e tratamentos.

Note que usamos a função factor para indicar que as variáveis blocos e estag são níveis de fatores e não valores numéricos.

Pode-se utilizar o comando read.table para ler o arquivo de dados:

setwd(“/home/roberval/Documentos/UFAM-2016-Mestrado_Estat_Exp/Notas_de_Aulas-2016/Aula6-DBA”)

bc01 <- read.table("exemplo2.txt", header=T, dec=",")
attach(bc01)

Caso o arquivo esteja em outro diretório deve-se colocar o caminho completo deste diretório no argumento de read.table acima.

Explorando os dados

Vamos agora explorar um pouco os dados.

names(bc01)
## [1] "estag" "bloco" "resp"
summary(bc01)
##  estag  bloco       resp      
##  e1:4   b1:6   Min.   :1.900  
##  e2:4   b2:6   1st Qu.:4.400  
##  e3:4   b3:6   Median :5.950  
##  e4:4   b4:6   Mean   :5.529  
##  e5:4          3rd Qu.:6.725  
##  e6:4          Max.   :7.700
plot(resp ~ estag + bloco)

bc01.mt <- tapply(resp, estag, mean)
bc01.mt
##    e1    e2    e3    e4    e5    e6 
## 5.100 4.300 4.000 6.700 6.050 7.025
bc01.mb <- tapply(resp, bloco, mean)
bc01.mb
##       b1       b2       b3       b4 
## 5.266667 5.100000 6.000000 5.750000
plot.default(estag, resp)
points(bc01.mt, pch="x", col=2, cex=1.5)

plot.default(bloco, resp)
points(bc01.mb, pch="x", col=2, cex=1.5)

Nos gráficos e resultados acima procuramos captar os principais aspectos dos dados bem como verificar se não há interação entre blocos e tratamentos, o que não deve acontecer neste tipo de experimento.

A seguir vamos ajustar o modelo e obter outros resultados, incluindo a análise de resíduos e testes para verificar a validades dos pressupostos do modelo.

ANOVA

bc01.av <- aov(resp~bloco+estag)
anova(bc01.av)
## Analysis of Variance Table
## 
## Response: resp
##           Df Sum Sq Mean Sq F value   Pr(>F)   
## bloco      3  3.141  1.0471  0.7966 0.514715   
## estag      5 31.652  6.3304  4.8161 0.007964 **
## Residuals 15 19.716  1.3144                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
names(bc01.av)
##  [1] "coefficients"  "residuals"     "effects"       "rank"         
##  [5] "fitted.values" "assign"        "qr"            "df.residual"  
##  [9] "contrasts"     "xlevels"       "call"          "terms"        
## [13] "model"
#Análise de resíduos
#Graficamente
par(mfrow=c(2,2))
plot(bc01.av)

Homocedasticidade, Normalidade e Independência

residuos <- (bc01.av$residuals)
par(mfrow=c(2,2))
plot(bc01$estag,residuos)
title("Resíduos vs Estágios \n Homocedasticidade")

preditos <- (bc01.av$fitted.values)
plot(residuos,preditos)
title("Resíduos vs Preditos \n Independência")

qqnorm(residuos,ylab="Resíduos", main=NULL)
qqline(residuos)
title("Grafico Normal de \n Probabilidade dos Resíduos")

par(mfrow=c(2,1))

respad <- (residuos/sqrt(anova(bc01.av)$"Mean Sq"[2]))
boxplot(respad)
title("Resíduos Padronizados - outliers")

plot(bc01$bloco,residuos)
title("Resíduos vs Blocos")

Teste para Normalidade dos Resíduos

shapiro.test(residuos)
## 
##  Shapiro-Wilk normality test
## 
## data:  residuos
## W = 0.96331, p-value = 0.5084

Teste para Comparações Múltiplas

Como foi detectado efeito de tratamentos faz-se um teste de comparações múltiplas e encerra-se as análises desanexando o objeto do caminho de procura.

bc01.tk <- TukeyHSD(bc01.av, "estag", ord=T)
bc01.tk
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
##     factor levels have been ordered
## 
## Fit: aov(formula = resp ~ bloco + estag)
## 
## $estag
##        diff         lwr      upr     p adj
## e2-e3 0.300 -2.33388607 2.933886 0.9988934
## e1-e3 1.100 -1.53388607 3.733886 0.7504223
## e5-e3 2.050 -0.58388607 4.683886 0.1767071
## e4-e3 2.700  0.06611393 5.333886 0.0429803
## e6-e3 3.025  0.39111393 5.658886 0.0201713
## e1-e2 0.800 -1.83388607 3.433886 0.9151913
## e5-e2 1.750 -0.88388607 4.383886 0.3110495
## e4-e2 2.400 -0.23388607 5.033886 0.0844614
## e6-e2 2.725  0.09111393 5.358886 0.0405790
## e5-e1 0.950 -1.68388607 3.583886 0.8431594
## e4-e1 1.600 -1.03388607 4.233886 0.3997375
## e6-e1 1.925 -0.70888607 4.558886 0.2257046
## e4-e5 0.650 -1.98388607 3.283886 0.9627929
## e6-e5 0.975 -1.65888607 3.608886 0.8289649
## e6-e4 0.325 -2.30888607 2.958886 0.9983769
plot(bc01.tk)

detach(bc01)

Usando a biblioteca laercio.

require(laercio)
## Loading required package: laercio
LTukey(bc01.av, which = "", conf.level = 0.95)
## 
##  TUKEY TEST TO COMPARE MEANS 
##  
##  Confidence level:  0.95 
##  Dependent variable:  resp
##  Variation Coefficient:  20.73513 % 
##  
## Independent variable:  bloco 
##   Factors Means             
##   b3      6                a
##   b4      5.75             a
##   b1      5.26666666666667 a
##   b2      5.1              a
## 
##  
## Independent variable:  estag 
##   Factors Means    
##   e6      7.025 a  
##   e4      6.7   ab 
##   e5      6.05  abc
##   e1      5.1   abc
##   e2      4.3    bc
##   e3      4       c
## 
## 

Usando a biblioteca Agricolae.

require(agricolae)
saida <- HSD.test(bc01.av,"estag", group=TRUE,console=TRUE,
main="conteúdo de óleo\n em diferentes estágios")
## 
## Study: conteúdo de óleo
##  em diferentes estágios
## 
## HSD Test for resp 
## 
## Mean Square Error:  1.314417 
## 
## estag,  means
## 
##     resp       std r Min Max
## e1 5.100 0.9899495 4 4.1 6.0
## e2 4.300 2.2330846 4 1.9 7.1
## e3 4.000 0.6377042 4 3.1 4.5
## e4 6.700 0.2581989 4 6.4 7.0
## e5 6.050 0.9146948 4 4.9 7.1
## e6 7.025 0.5852350 4 6.4 7.7
## 
## alpha: 0.05 ; Df Error: 15 
## Critical Value of Studentized Range: 4.594735 
## 
## Honestly Significant Difference: 2.633886 
## 
## Means with the same letter are not significantly different.
## 
## Groups, Treatments and means
## a     e6      7.025 
## ab    e4      6.7 
## abc   e5      6.05 
## abc   e1      5.1 
## bc    e2      4.3 
## c     e3      4
#stargraph
bar.group(saida$groups,ylim=c(0,45),density=4,border="blue")

#endgraph

saida<-HSD.test(bc01.av,"estag", group=FALSE)
medias<-saida$means
medias
##     resp       std r Min Max
## e1 5.100 0.9899495 4 4.1 6.0
## e2 4.300 2.2330846 4 1.9 7.1
## e3 4.000 0.6377042 4 3.1 4.5
## e4 6.700 0.2581989 4 6.4 7.0
## e5 6.050 0.9146948 4 4.9 7.1
## e6 7.025 0.5852350 4 6.4 7.7

Usando a biblioteca ExpDes.pt (a cereja do bolo)

require(ExpDes.pt)
## Loading required package: ExpDes.pt
## 
## Attaching package: 'ExpDes.pt'
## The following objects are masked from 'package:agricolae':
## 
##     lastC, order.group, tapply.stat
dbc(estag, bloco, resp, quali = TRUE, mcomp = "tukey", sigT = 0.05, sigF = 0.05)
## ------------------------------------------------------------------------
## Quadro da analise de variancia
## ------------------------------------------------------------------------
##            GL     SQ     QM     Fc   Pr>Fc
## Tratamento  5 31.652 6.3304 4.8161 0.00796
## Bloco       3  3.141 1.0471 0.7966 0.51472
## Residuo    15 19.716 1.3144               
## Total      23 54.510                      
## ------------------------------------------------------------------------
## CV = 20.74 %
## 
## ------------------------------------------------------------------------
## Teste de normalidade dos residuos (Shapiro-Wilk)
## p-valor:  0.508367 
## De acordo com o teste de Shapiro-Wilk a 5% de significancia, os residuos podem ser considerados normais.
## ------------------------------------------------------------------------
## 
## Teste de Tukey
## ------------------------------------------------------------------------
## Grupos Tratamentos Medias
## a     e6      7.025 
## ab    e4      6.7 
## abc   e5      6.05 
## abc   e1      5.1 
##  bc   e2      4.3 
##   c   e3      4 
## ------------------------------------------------------------------------