90
Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 1 Programa R: Aplicações no Melhoramento de Plantas Prof. Luiz Alexandre Peternelli 2011 Departamento de Estatística – UFV Pesquisador do PMGCA – UFV

Mini Curso Prof Peternelli

Embed Size (px)

Citation preview

Page 1: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 20111

Programa R: Aplicações no Melhoramento de Plantas

Prof. Luiz Alexandre Peternelli2011

Departamento de Estatística – UFVPesquisador do PMGCA – UFV

Page 2: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Objetivo do mini curso

• O objetivo deste curso não é tão somente ensinar um software ou rever conceitos de estatística e seus métodos, mas proporcionar um ponto de partida para pessoas que desejam começar a utilizar o R e suas ferramentas estatísticas

Page 3: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 3

Conteúdo

• Instalação• entrada de dados; funções básicas; operações

com matrizes• análises descritivas• testes de hipóteses• delineamentos experimentais• esquemas experimentais• análise de regressão• dicas de organização dos comandos e de

elaboração dos relatórios de análise

Page 4: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 4

Material de consulta• Internet• Inúmeros livros (veja

www.amazon.com)– Estatística básica, gráficos,

análises específicas etc• Conhecendo o R: uma visão

estatísticaPeternelli e Pupin, 2011.disponível na Editora UFV(www.editoraufv.com.br)

Page 5: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 5

Editores para o R

• No caso do Windows– Descrição detalhada em:

www.sciviews.org/_rgui/projects/Editors.html– Word: uma opção. CUIDADO!– Script do R e notepad. Bons e simples!– Tinn-R (www.sciviews.org/Tinn-R/)

• Colorido e interativo.• Problema: versões do Windows.

– RWindEdt (pacote do R) - ??? (RStudio)

Page 6: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 6

Instalação

• Programa disponível em:www.r-project.org

Etapas:• Baixar programa• Atualizar pacotes• Baixar pacotes de interesse e usar suas

funções, ou criá-las, conforme interesseespecífico.

Page 7: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 7

Informações Básicas do ProgramaR

• Entrando com dados– comandosR - entrando com dados

Page 8: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Comandos R#Entrando com dados

#scan(), edit(), read.table() e data().

x<-3

x<-c(1,2,3)

y<-edit(x)

x<-scan()

x<-read.table(argumentos) #veremos oportunamente

#Uso da função scan()teste<-scan() #usado para entrada de dados

#Uso da função edit()teste<-c(10,20,30,40,50)teste

teste2<-edit(teste)teste2

Page 9: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 9

Informações Básicas do ProgramaR

• Operações com matrizes– comandosR – operações com matrizes

Page 10: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Comandos R#Operações com vetores e matrizescoluna1<-c(2,1,0)coluna2<-c(1,3,1)coluna3<-c(1,1,2)A<-cbind(coluna1,coluna2,coluna3)

#obtendo a transposta de At(A)

#cálculos interessantest(A)%*%A #A’A

#Produto de vetorescoluna1%*%coluna1

#cuidado!coluna1*coluna1

#Inversa de uma matriz não singular quadrada:

solve(A) #inversa da matriz Asolve(A)%*%A #verificaçãoround(solve(A)%*%A,5)solve(t(A)%*%A)

#determinante da matriz Adet(A)

#dando nomes às linhas e colunasdimnames(A)<-

list(c("linha1","linha2","linha3"),c("col1","col2","col3"))

row.names(A)<-c("l1","l2","l3")

#criando matriz de outra formaB<-matrix(1:12,nrow=3,ncol=4)B<-

matrix(1:12,nrow=3,ncol=4,byrow=F)

B<-matrix(1:12,nrow=3,ncol=4,byrow=T)

#selecionando partes de uma matrizB[1,3]; B[c(1,2),3];B[c(1,3),c(2,4)]

#Para outras funções associadas a matrizes, veja

??matrix

Page 11: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 11

Informações Básicas do ProgramaR

• Outras funções básicas– comandosR – funções básicas (tabelas a

seguir)

Page 12: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 12

Algumas funçõesAção Comando

Fazer com que o R ignore o que será digitado* #

Sair do programa q()

Salva o trabalho realizado save.image()

Lista todos os objetos da área de trabalho atual ls()

Remove o objeto x rm(x)

Remove os objetos x e y rm(x,y)

Dado ausente NA

Verdadeiro se existir dados ausentes is.na

Mostra todos os pacotes instalados** library()

Carregar (por exemplo) o pacote nlme library(nlme)

Page 13: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 13

Mais funçõesAção de ajuda Comando

Obter ajuda sobre o comandoX help(comandoX)

Iniciar ajuda no browser padrão instalado

help.start()

Obter ajuda sobre (p.ex.) o pacote mva

help(package=mva)

Procurar por multivariate em todos os pacotes instalados

help.search(“multivariate”)

Comando que procura objetos (p.ex.) pelo nome modelo

apropos(“modelo”)

Mostrar exemplos do “comandoX”

example(comandoX)

Listar as funções e operações contidas no pacote base do R

ls(“package:base”)

Page 14: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 14

Mais funções

Função Significado

log(x) Log de base e de x

exp(x) Antilog de x (e^x)

log(x,n) Log de base n de x

log10(x) Log de base 10 de x

sqrt(x) Raiz quadrada de x

choose(n,x) n!/(x!(n-x)!)

cos(x), sin(x), tan(x)Funções trigonométricas de x em

radianos

acos(x), asin(x), atan(x)Funções trig. inversas de x em

radianos

abs(x) Valor absoluto de x

Page 15: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 15

Análises Descritivas

• Medidas de posição (OBS)

– Média (mean())– Mediana: (median())

• n ímpar → Xmd = X(n + 1)/2 do rol• n par → Xmd = ½(Xn/2 + Xn/2 +1) do rol

– Moda: (table())• Xmo : é o valor mais frequente num conjunto de

dados

– Máximo (max())– Mínimo (min())

n

x

x

n

i

i∑== 1

Page 16: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 16

Cont...

Q1 Q3

– Quantis (quartis, decis, percentis) (quantile())

Page 17: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 17

Análises Descritivas

• Medidas de dispersão– Amplitude total → AT = max(X) – min(X)

– Variância (var())

– Desvio padrão →

– Erro padrão da média →

– Coeficiente de variação →

2s

1

)(1

2

2

=∑

=

n

xx

s

n

i

i

1−n

SQDx=

n

s

100×x

s

Usando o R 1Usando o R 2

Page 18: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Comandos R#medidas descritivas - comandos

simples

x<-sample(1:10,10,r=T) #entrando com um conjunto de dados qualquer. Nossa amostra.

n<-length(x) #obtendo o tamanho da amostra

mean(x) #média

median(x) #mediana

table(x) #dica para obter a moda (ou modas)

max(x) #máximo

min(x) #mínimo

quantile(x,c(.25,.5,.75)) #três quantis diferentes

#OBS: ver o que sai da função summary(x)

max(x)-min(x) #amplitude total

var(x) #variância

sqrt(var(x)) #ou sd(x). Desvio padrão

sd(x)/sqrt(n) #erro padrão da média

sd(x)/mean(x)*100 #coeficiente de variação

Page 19: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Comandos R#medidas descritivas - criando função

meu.estat.descr<-function(conj.de.dados,quantis=c(.25,.5,.75)){

x<-conj.de.dadosn<-length(x)mx<-mean(x)medx<-median(x)maxx<-max(x)minx<-min(x)#qx<-quantile(x,c(.25,.5,.75))qx<-quantile(x,quantis)vx<-var(x)epmx<-sd(x)/sqrt(n)return(list(media=mx,mediana=medx,maximo=maxx,minimo=minx

,quantis=qx,var.de.x=vx,erro.padrao=epmx))}#testandoteste<-sample(1:10,10,r=T)meu.estat.descr(teste)meu.estat.descr(teste,c(.05,.95))j<-meu.estat.descr(teste,c(.05,.95))j$media

Page 20: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 20

Análises Descritivas

• Análises gráficas– Importância– Gráficos mais comuns:

• Histograma• Boxplot• Diagrama de dispersão

Usando o R

Page 21: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Comandos R#comandos para graficos

x<-1:20y<-x**3plot(x,y) #plota os pares (x,y).

plot(x,y,type="l")

plot(x,y,type="b")plot(x,y,type="o")plot(x,y,type="s")plot(x,y,type="c")plot(x,y,type="h")

par(mfrow=c(3,2))

#adicionando mais dados aos gráficosplot(x,y)points(rev(x),y)#adicionando pontoslines(x,8000-y)

#adicionando linhas

#mudando o padrão de pontosplot(x,y)points(rev(x),y,pch=3) #adiciona

cruzespoints(x,8000-y,pch="$") #símbolo

cifrão

plot(x,y)

plot(x,y,pch="@")

plot(x,y,pch=1:3)

plot(0:20,0:20,pch=0:20)

#mudando as linhas

plot(x,y)

lines(x,y,lwd=4) #linha grossa

lines(rev(x),y,lty=2) #linha tracejada

Page 22: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Comandos R#definindo os intervalos dos eixosplot(c(0,20),c(-

8000,8000),type='n')lines(x,y) #lembre-se:

x<-1:20; y<-x**3lines(x,-y)

#adicionando segmentos de reta

plot(c(0,20),c(0,30),type='n')#gráfico em branco

segments(5,3,15,20) #um segmento de reta

lines(c(12,15,7,20),c(3,10,8,15), #duas

pequenas linhascol="red", #vermelhaslty=3) #pontilhadas

abline(30,-2,lty=2,col=4)#linha tracejada azul

#adicionando textoplot(x,y,xlab="Eixo X

aqui",ylab="Eixo Y aqui")title("Título aqui \n (e repare a

acentuação!!!)")text(6,4000,"Texto em qualquer

lugar")

#gráficos múltiplosx<-1:20y<-x**3

par(mfrow=c(2,2))#arranjamento “2 por 2”

plot(x,y)plot(rev(x),y)plot(x,2*y)plot(x,log(y))

Page 23: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Comandos R#personalizando o gráficox<-1:10

#criando xy<-c(2,5,9,6,7,8,4,1,3,10)

#criando yx;y

plot(x,y) #plota x e yplot(x, y, #plota x e y

xlab="Eixo x",#nomeia o eixo xylab="Eixo y",#nomeia o eixo ymain="Personalizando um gráfico",#títuloxlim=c(0,10), #limites eixo xylim=c(0,10), #limites eixo ycol="red", #cor dos pontospch=22, #formato dos pontosbg="blue", #cor de preenchimentotcl=0.4, #tamanho de traços dos

eixoslas=1, #orientação do texto em ycex=1.5, #tamanho do pontobty="l") #altera as bordas

#histogramasx<-

c(2,2,2,2,2,3,3,3,4,4,5,5,6) #vetor qualquer

hist(x)

table(x)

hist(x, #histograma de xright=T, #intervalos fechados à direitainclude.lowest=F, #não soma extremos do vetorbreaks=c(1,2,3,4,5,6))

#int. das classes

Page 24: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Comandos Rx<-rchisq(1000,10); hist(x)hist(x, #histograma de x

main="Histograma\nQui-quadrado",#títuloxlab="Valores", #texto do eixo das abscissasylab="Prob", #texto do eixo das ordenadasbr=c(c(0,5),c(5,15),5*3:7), #int das classesxlim=c(0,30), #limites do eixo de xylim=c(0,0.1), #limites do eixo ycol="lightblue", #cor das colunasborder="white", #cor das bordas das colunasprob=T, #mostrar probabilidades.right=T, #int fechados à direitaadj=0, #alinhamento dos textoscol.axis="red") #cor do texto nos eixos

dados<-c(25,27,18,16,21,22,21,20,18,23,27,21,19,20,21,16)hist(dados, #histograma de dados

nc=6, #número de classes igual a 6right=F, #int fechado à esquerdamain="Histograma", #título do histogramaxlab="tempo (em minutos)",#texto do eixo xylab="frequencia", #texto do eixo ycol=2) #usa a cor cinza nas barras

Page 25: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Comandos R#gráfico de barrasbarplot(table(c("a","a","a","a","a","b","b","b","c","c","v","v")))

dados<-c("a"=4,"b"=7)barplot(dados)

barplot(table(c("a","a","a","a","a","b","b","b","c","c","v","v")),

hor=T)#disposição horizontal das categorias

#boxplotx<-rnorm(100,10)y<-rchisq(100,10)boxplot(x,y)

#gráfico de setores: veja ?pie

demo(graphics)

Page 26: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 26

Testes de Hipóteses

• Entendendo os princípios básicos usandosimulação

• Ideia geral

Usando o R

Page 27: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 27

Ideia geral

• regra decisória que nos permite rejeitar ou não rejeitar uma hipótese estatística com base nos resultados de uma amostra

• Parâmetro, estimador, estimativa• Hipótese estatística:

– É uma suposição quanto ao valor de um parâmetro populacional, ou uma afirmaçãoquanto à natureza da população

• H0 e Ha

Page 28: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 28

Ideia geral – cont...

• Erros nas conclusões obtidas

Por causa das flutuações amostrais, ao testar certa hipótese e tomar uma decisão, pode-se tomar a decisão errada.

Dois tipos de erro:

� Erro Tipo I: Rejeitar a hipótese nula quando na realidade ela é verdadeira.

� Erro Tipo II: Não rejeitar a hipótese nula quando na realidade ela é falsa.

Page 29: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 29

Ideia geral – cont...

• P(erro tipo I) = α

• P(erro tipo II) = β

• Em geral podemos controlar apenas o erro tipo I, definindo o valor α (nível de significância do teste)

Page 30: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 30

Passo 1.Passo 1. Definir uma hipótese H0 a ser testada e

uma hipótese alternativa HA;

Passo 2.Passo 2. Usar a teoria estatística e as informações

disponíveis para decidir qual estatística

(estimador) será usada para testar a

hipótese H0. Definir a distribuição

amostral dessa estatística.

Passos usuais para a Construção de um Teste de Hipóteses

Page 31: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 31

Passos para a Construção de um Teste de Hipóteses

Passo 3.Passo 3. Fixar a probabilidade α de cometer o erro tipo

I e usar este valor para construir a região

crítica (regra de decisão);

Passo 4.Passo 4. Usar as observações da amostra para calcular

o valor da estatística de teste;

Passo 5.Passo 5. Se o valor da estatística calculado com os

dados da amostra não pertencer à região

crítica, não rejeite H0 ; caso contrário, rejeite

H0.

Page 32: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 32

Esquemas baseados na Ha

Valor crítico

α/2α/2

Valor crítico

Valor hipotético

R.C. R.C.

Ha : θ ≠ θ0

Ha : θ > θ0

Ha : θ < θ0

α

R.C.

Valor crítico

Valor hipotético

α

Valor crítico

R.C.

Valor hipotético

Page 33: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 33

Usando o p-valor

• O procedimento para o teste seria:– Formular H0 e Ha (e definir α, se for de interesse);– Especificar a estatística do teste;– Determinar o valor da estatística do teste e o p-value

correspondente baseado na amostra; e

– Comparar p-value com α• Se p-value α rejeição de H0;• Se p-value > α não-rejeição de H0.• Obs.: Ou permita que o julgamento seja particularizado.

≤ ⇒

Page 34: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 34

Teste t

Hipóteses

HA: µ > µ0

H0: µ = µ0 vs HA: µ < µ0

HA: µ ≠ µ0

Estatística de Teste:

n

s

Xtcalc

µ−=

Regra decisória: Se |tcalc| > ttab → rejeitamos H0

n ≤ 30

~ t (n – 1 g.l.)

Page 35: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 35

Exemplo:Exemplo: Foi afirmado que o crescimento de certa planta, num certo período, é de 140 cm (ou mais). Um pesquisador deseja testar a credibilidade da declaração. Para isso mediu a capacidade de uma amostra aleatória de 20 dessas plantas, durante aquele período declarado. Os resultados em cm, são os seguintes: (use α = 5%)

137,4 140,0 138,8 139,1 144,4 139,2

141,8 137,3 133,5 138,2 141,1 139,7

136,7 136,3 135,6 138,0 140,9 140,6 136,7 134,1

138,47=X

H0: µ = 140 n = 20 α = 0,05 Ha: µ < 140 s2= 7,0706 s = 2,66

ASSIM:

Page 36: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 36

Conclusão:Rejeita-se H0, ou seja, há evidências de que a declaração é falsa, ao nível de significância de 5%.

Estatísticado teste:

57,2

20

66,2

14047,138−=

−=

−=

n

s

Xtcalc

µ

Esquema

ttab = -1,729 µ = 140 ≡ t = 0

α

Valor crítico

R.C.

Valor hipotético

Usando o R

Page 37: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Comandos R?t.test#t.test(x, y = NULL,# alternative = c("two.sided", "less", "greater"),# mu = 0, paired = FALSE, var.equal = FALSE,# conf.level = 0.95, ...)x<-scan(dec=",")137,4 140,0 138,8 139,1 144,4 139,2141,8 137,3 133,5 138,2 141,1 139,7 136,7 136,3 135,6 138,0 140,9 140,6 136,7 134,1t.test(x,alternative="less",mu=140)qt(.05,19)?ptpt(2.5734,19)pt(-2.5734,19)1-pt(2.5734,19)qt(.05,19)saida.t<-t.test(x,alternative="less",mu=140)mode(saida.t)names(saida.t)

Page 38: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 38

Outros testes

• Depende dos dados e/ou interesse do pesquisador– Teste F– Teste de Qui-quadrado– Teste de Kolmogorov-Smirnov– Teste de Shapiro-Wilks

• Veja “??test”Usando o R

Page 39: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Comandos R#Kolmogorov-Smirnovpesos<-scan()46.88 47.17 64.46 67.84 85.76 65.41 60.1075.84 61.21 61.65 63.87 53.95 63.66 69.0676.41 75.56 69.04 35.18 66.42 58.78 73.0251.69 90.88 53.01 64.31 61.91 79.42 57.7862.73 60.63 63.29 46.53 84.64 61.76 85.0859.66 54.89 94.18 59.89 68.56 75.66 72.0662.00 43.43 73.38 73.31 66.37 73.72 66.1567.79hist(pesos)ks.test(pesos, #amostra a ser testada

"pchisq", #”p” e depois nome da distribuição49) #graus de liberdade da amostra

curve(dchisq(x,49),30,100,add=T)hist(pesos,prob=T)curve(dchisq(x,49),30,100,add=T)mean(pesos)sd(pesos)ks.test(pesos,"pnorm",65,12)curve(dnorm(x,65,12),30,100,add=T,col="blue")#########################Shapiro-Wilksshapiro.test(pesos)

Page 40: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 40

O MODELO ESTATÍSTICO

• Y = f( X1, X2, ..., Xp) = f(X, e)

• Utilizando a notação matricial

• Pode-se usar representação algébrica

Variável de interesse Variáveis queexplicam variaçãoem Y

Variáveisexplicativasefetivamenteusadas

resto

ε+Xθ=Y

Page 41: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 41

Exemplo

• Usando representação algébrica

• Ver esse exemplo para i = 1 a 3 e j = 1 a 2

ijiij e+t+m=y

Page 42: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 42

Desenvolvimento e restrições do modelo

• Pressuposições básicas– Aditividade dos efeitos– Normalidade dos erros– Independência dos erros– Homogeneidade de variâncias dos

tratamentos

Page 43: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 43

DELINEAMENTO INTEIRAMENTE CASUALIZADO

DIC

Page 44: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 44

Modelo

• é o valor observado para a variável em estudo referente ao i-ésimo tratamento na j-ésimarepetição

• é a constante inerente ao modelo • é o efeito do tratamento i no valor observado • é o erro associado à observação

jiiji etmy ++=Jj

Ii

,,2,1

,,2,1

=

=

jiy

Page 45: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 45

Construção de estimadores

• Montar quadro da ANOVA

FV g.l. SQ QM F

Tratamento I – 1 SQTrat

Resíduo IJ – I SQRes

Total IJ – 1 SQTotal

IJ

y

ySQTotalji

ji

ji

ji

2

2

−=

∑∑ ∑

−=i

ji

ji

iIJ

y

TJ

SQTrat

2

21

Page 46: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

• QMTrat =

• QMRes =

• F = QMTrat/QMres

FVFixo

EQMAleat

Trat

Res

Total

1−I

SQTrat

( )1

Re

−JI

sSQtJΦ+2σ 22

tJσσ +

2σ2σ

I2i

i 1t

t

I 1

=∑

Φ =−

2t

QMTrat QM Re sˆ

J

−σ =

Page 47: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 47

DIC – Modelo fixo

• Hipóteses testadas

• Regra decisória– se Fcalculado ≥ Ftabelado → rejeita-se H0

– Ou avalia o “p-valor”

mm...mm:H I210 ====

0a Hnão:H

Page 48: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Exemplo DIC 1

• GOMES (1984): experimento de competição de 4 cultivares de cana-de-açúcar (A, B, C e D), utilizando o DIC com 6 repetições

246321357279Totais

446061486

426254505

484961364

344466513

334755402

455960541

DCBARepetição

Cultivares

Usando o R

Page 49: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Comandos RArquivo: comandosR/comandosR DIC exemplo1.r

A<-scan()

54 40 51 36 50 48

B<-scan()

60 55 66 61 54 61

C<-scan()

59 47 44 49 62 60

D<-scan()

45 33 34 48 42 44

totais<-c(sum(A),sum(B),sum(C),sum(D))

dados<-data.frame(repet=rep(1:6,4)

,cult=sort(rep(c("A","B","C","D"),6))

,y=c(A,B,C,D))

Page 50: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

( ) ( )

62,200038,603006230124

120362301

64

444054444054

2

2

222

2

2

=−=−=

=+++

−+++=

−=

∑∑

xIJ

y

ySQTotalji

ji

ji

ji

( )

12,117438,603005,61474

24

1203246279

6

112

22

2

2

=−=

−++=

−= ∑∑

i

ji

ji

iIJ

y

TJ

SQTrat

Re 2000,62 1174,12 826,50SQ s SQTotal SQTrat= − = − =

Page 51: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Comandos R> attach(dados)

> SQy<-sum(y^2)

> Sy<-sum(y)

> SQTTrat<-sum(totais^2)/6

> #obtendo as somas de quadrados

> SQTotal<-SQy-Sy^2/(4*6)

> SQTotal

[1] 2000.625

> SQTrat<-SQTTrat-Sy^2/(4*6)

> SQTrat

[1] 1174.125

> SQRes<-SQTotal-SQTrat

> SQRes

[1] 826.5

> detach(dados)

Page 52: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

32,4120

50,826

Re

ReRe

37,3913

12,1174

===

===

sGL

sSQsQM

GLTrat

SQTratQMTrat

47,932,41

37,391

Re===

sQM

QMTratFcalc

( ) 10,320,3%5 == FFtab

%82,12100125,50

32,41100

ˆ

Re(%).. === ••

m

sQMVC

2000,6223Total

41,32826,5020Res

9,47 *391,371174,123Trat

FQMSQGLFV

Page 53: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Comandos R> QMTrat<-SQTrat/(4-1) > QMTrat [1] 391.375 > QMRes<-SQRes/(4*(6-1)) > QMRes[1] 41.325 > Fcalc<-QMTrat/QMRes> Fcalc[1] 9.470659 > Ftab<-qf(0.95,3,20) > Ftab[1] 3.098391 > CV<-sqrt(QMRes)/mean(dados$y)*100 > CV [1] 12.82484 > #Fazendo o quadro da ANOVA diretamente: > anova(aov(y~cult,data=dados)) > #obtendo o pvalor> 1-pf(Fcalc,3,20) [1] 0.0004232293

Page 54: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 54

Exemplo DIC 2

Total Média

A 25 26 20 23 21 115 23

B 31 25 28 27 24 135 27

C 22 26 28 25 29 130 26

D 22 28 27 23 20 120 24

Um pesquisador avaliou a altura de colmos (média do sulco, em dm) de quatro famílias de cana de açúcar organizados segundo o DIC, obtendo os seguintes dados numa escala apropriada

Realizar a ANOVA para testar a hipótese de igualdade dos efeitos de tratamentos

Usando o R

Page 55: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Comandos R#anova DIC - referente a arquivo na

pasta de dados

trat<-scan()#copiar e colar os valores da coluna

trat diretamente no console do R

y<-scan()#copiar e colar os valores da coluna

y diretamente no console do R

dados<-cbind(trat,y)#para evitar erros futurosrm(y); rm(trat)

#ver outras formas de entrar com dados

d1<-read.table("curso R slides/dados curso R/DIC 1.txt",h=T)

d2<-read.csv("curso R slides/dados curso R/DIC 1.csv")

#cuidado!aov(y~trat,dados)

saida<-aov(y~factor(trat),dados)

is.data.frame(dados)

dados<-data.frame(dados)#ou dados<-as.data.frame(dados)

saida<-aov(y~factor(trat),dados)saida

summary (saida)anova(saida)#Não significativo ... para por

aqui. Voltar para os slides#model.tables(saida,"means")

Page 56: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 56

PROCEDIMENTOS PARA COMPARAÇÃO DE MÉDIAS

• Ou testes para comparação de médias, ou testes de comparações múltiplas– DMS, Bonferroni, Scheffé, Tukey, Duncan,

Dunnett

• Complemento ao teste F • detectar diferenças entre tratamentos• Situações ou uso específico para cada

teste

Page 57: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 57

Contrastes • Funções do tipo

• Onde

• Exemplo:Y = 2x1 – x2 – x3

• Se X ≡ média → contraste de média

nn xaxaxaxfY +++== …2211)(

∑=

=n

i

ia1

0

∑=

−=−===4

1

321 1,1,2,0i

i aaaa

Page 58: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 58

• para um contraste de médias em sua forma geral

• Podemos obter a estimativa

nnmcmcmcmcY ++++= …332211 ∑=

=n

i

ic1

0

nnmcmcmcY ˆˆˆˆ2211 +++= …

Page 59: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 59

• Para aplicar testes precisamos conhecer o estimador da variância do estimador do contraste

nnmcmcmcY ˆˆˆˆ2211 +++= …

)ˆ(ˆ)ˆ(ˆ)ˆ(ˆ)ˆ(ˆ 2

2

2

21

2

1 nn mVcmVcmVcYV +++= …

r

sc

r

sccccYV

n

i

in

2

1

22

22

3

2

2

2

1 )()ˆ(ˆ ∑=

=++++= …

Se “médias” independentes.

Se variâncias “iguais”, e mesmo no repetições:

Page 60: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 60

Teste da Diferença Mínima Significativa (DMS)

• A DMS ao nível α de significância para comparar mi com mj é:

• DMS =

• Concluir que mi ≠ mj se > DMS

)11

(Re,2/

ji

vnn

sQMt +α

ji mm ˆˆ −

Page 61: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 61

Generalizando

• ao nível α de probabilidade, concluir que

se

Número de g.l. resíduoNúmero de trat

Número de repetições do trat i

∑ ≠ 0iimc ∑∑=

>I

i i

i

viin

csQMtmc

1

2

,2/ Reˆ α

Page 62: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 62

Teste de Bonferroni

• bom quando se quer fazer um pequeno número de comparações

• mantém o nível de significância conjunto igual ou menor que α, quando aplicado a um grupo de contrastes de interesse

• Se p contrastes estão sendo comparados:– para cada contraste → usar α′ = α/p.

Page 63: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 63

• se quisermos fazer p comparações, concluiremos que a q-ésima comparação

• se0≠∑ iiqmc

∑∑=

>I

i i

iq

vpiiqn

csQMtmc

1

2

),2/( Reˆα

Page 64: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 64

Teste de Scheffé

• Pode testar todo e qualquer contraste de médias, mesmo quando sugerido pelos dados

• muito utilizado para testar contrastes que envolvem grupos de médias

• Não exige a ortogonalidade e nem que os contrastes sejam estabelecidos a “priori”

• exige apenas que, na ANOVA, o teste F para tratamentos seja significativo

Page 65: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 65

O teste

• Estatística do teste

• Regra decisória:

Se contraste é significativo ao nível α

)ˆ(ˆ)1( YVFIS −=

SY ≥ˆ

Page 66: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 66

Teste de Tukey• Testa todo e qualquer contraste entre 2 médias • Não permite comparar grupos de médias• Estatística do teste:

• Se contraste é significativo ao nível α∆≥Y

)ˆ(ˆ2

1YVq=∆

Tabela de Tukey

Page 67: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 67

Teste de Duncan

• fornece resultados mais discriminados que os do teste de Tukey

• de aplicação mais trabalhosa • exige que as médias sejam colocadas em

ordem decrescente• Teste é exato quando todos os

tratamentos possuírem o mesmo número de repetições

Page 68: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 68

O teste

• Estatística do teste

• Se → contraste não significativo

• Se → médias diferem → repetirprocedimento para abrangência i - 1

iDY <ˆ

iDY ≥ˆ

Tabela de Duncan

)ˆ(ˆ2

1YVZD ii =

Page 69: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 69

Teste de Dunnett

• Comparar um tratamento padrão com osdemais tratamentos

• Estatística do teste:

• Se → contraste é significativo

)ˆ(' YVtd d=

Tabela de Dunnett

f(g.l. trat.; g.l. res.)

'ˆ dY ≥

Page 70: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 201170

Exemplos

• Exemplos diversos usando– Função aov() e anova()

– Pacote “agricolae”

Usando o R

Page 71: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Comandos R#Alterando os dados agoradados2<-edit(dados) #acrescentando 6

a cada valor do trat 4

saida2<-aov(y~factor(trat),dados2)

summary (saida2)anova(saida2)

res<-resid(saida2)

sum(res)sum(res*res)

#PARA REALIZAR AS ANÁLISES A MÃO#Os totais de tratamentos podem ser

obtidos portapply(dados2$y,dados2$trat,sum)#ourowsum(dados2$y,dados2$trat)#ourowsum(dados2,dados2$trat)

#As médias de tratamentos podem ser obtidas por

tapply(dados2$y,dados2$trat,mean)#ou dividindo os totais pelo número de

repetiçõesrowsum(dados2$y,dados2$trat)/5

#comparando as médiasTukeyHSD(saida2,"factor(trat)",ordered=T)plot(TukeyHSD(saida2,"factor(trat)",order

ed=T))

library(agricolae)args(HSD.test)HSD.test(dados2$y,dados2$trat,16,8.25)args(duncan.test)duncan.test(dados2$y,dados2$trat,16,8.25)

args(bar.err)

comparacao<-HSD.test(dados2$y,dados2$trat,16,8.25)

bar.err(comparacao)

bar.group(comparacao)

Page 72: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 72

EXPERIMENTOS EM BLOCOS CASUALIZADOS

DBC

Page 73: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 73

modelo estatístico

• A variação total é dividida em:Tratamentos + Blocos + Resíduo

• Obtem-se:– G.l. de cada F.V.– Somas de Quadrados– Quadrados médios– Valor F para a F.V. tratamentos

ijjiji ebtmY +++=

Page 74: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 74

DBC – Modelo fixo

• Hipóteses testadas

• Regra decisória– se Fcalculado ≥ Ftabelado → rejeita-se H0

– Ou avalia o “p-valor”

mm...mm:H I210 ====

0a Hnão:H

Usando o R 1 ; 2

Page 75: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Comandos R#SE USAR O R DE DENTRO DA PASTA DE TRABALHO DO "PROJETO"dir()dados<-read.table("curso R slides/dados curso R/DBC 1.txt",h=T)dados

saida<-aov(y~trat+rep,data=dados)anova(saida)saida<-aov(y~factor(trat)+factor(rep),data=dados)anova(saida)

library(agricolae)args(duncan.test)#function (y, trt, DFerror, MSerror, alpha = 0.05, group = TRUE, # main = NULL) duncan.test(dados$y,dados$trat,9,0.00889)

HSD.test(dados$y,dados$trat,saida$df.residual,anova(saida)[3,3])

#fazendo automaticamenteglres<-saida$df.residualqmres<-deviance(saida)/glresduncan.test(dados$y,dados$trat,glres,qmres)

Page 76: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 76

Esquemas Experimentais

• Experimentos Fatoriais

Page 77: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 77

Conceituação

• Dois ou mais fatores são estudados simultaneamente

• Cada Fator apresenta dois ou mais níveis • É um tipo de esquema e não um

delineamento– Ex.: podemos ter experimento fatorial no DIC

ou no DBC

• Os tratamentos são obtidos pelas combinações dos níveis dos fatores

Page 78: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 78

Aplicações • Sejam dois fatores

– fator A com I níveis e o fator B com J níveis, com k repetições

• instalado segundo o DIC

• Instalado segundo o DBC

( ) ijkijjiijk emY ++++= αββα

( )ijk

ekijjim

ijkY +++++= ωαββα

Page 79: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 79

Quadros da ANOVA

• Fatorial no DIC

FV G.l. SQ QM F

A I – 1

B J – 1

AxB (I – 1)(J – 1)

(Trat) IJ – 1

Resíduo Por dif.

Total IJK – 1

Page 80: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011 80

Quadros da ANOVA

• Fatorial no DBC

FV G.l. SQ QM F

Bloco K – 1

A I – 1

B J – 1

AxB (I – 1)(J – 1)

(Trat) IJ – 1

Resíduo (IJ – 1)(K – 1)

Total IJK – 1

Page 81: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Exemplo – Exp. Fatorialdados<-read.table("curso R

slides/dados curso R/fatorial.txt",h=T)

Af<-factor(dados$A)Bf<-factor(dados$B)#agora solicitando a ANOVAsaida<-aov(y~Af+Bf+Af:Bf,data=dados)#ou simplesmente: saida<-

aov(y~Af*Bf,data=dados)

#pedindo o quadro informativo da ANOVA

summary(saida)

interaction.plot(Bf,Af,dados$y)#interaction.plot(Af,Bf,dados$y)

#dados2<-edit(dados)

Usando o R

#no DBCblocof<-factor(dados$rep)#agora solicitando a ANOVAsaida<-

aov(y~blocof+Af+Bf+Af:Bf,data=dados)

#ou simplesmente: saida<-aov(y~blocof+Af*Bf,data=dados)

#quadro informativo da ANOVAsummary(saida); anova(saida)interaction.plot(Bf,Af,dados$y)

model.tables(saida) # efeitosmodel.tables(saida,"means")dados.A1<-dados[which(dados$A==1),]dados.A2<-dados[which(dados$A==2),]

#totais.A<-rowsum(dados.A1$y,dados.A1$B)

HSD.test(dados.A1$y,dados.A1$B,7,1.92)HSD.test(dados.A2$y,dados.A2$B,7,1.92)

Page 82: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Outros experimentos

• Parcela subdividida– O termo “parcelas subdivididas”, assim como

o “fatorial”, refere-se à maneira como os tratamentos são organizados e atribuídos às unidades experimentais.

– Definimos, aqui, os fatores primários e secundários, ou seja, parcelas e subparcelasrespectivamente.

Page 83: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Exemplo

1818201717161714151613144

2119182019171112151316173

2021211919181212171616152

1916202219211615141512121

B3B2B1B3B2B1Bloco

A2A1

• Entrar com os comandos

Page 84: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Comandos R> #cria o fator das parcelas> A<-gl(2,24,label=paste("A",1:2,sep=""))> #fator das subparcelas> B<-

rep(gl(3,8,label=paste("B",1:3,sep="")),2)

> #blocos> bl<-

rep(gl(4,2,label=paste("bl",1:4,sep="")),6)

> #variável resposta> dados<-c(12,12,15,16,17,16,14,13,

15,14,16,17,13,15,16,15,15,16,12,12,12,11,14,17,21,19,18,19,17,19,16,17,22,20,19,21,20,18,17,20,16,19,21,20,19,21,18,18)

> #juntando tudo num data.frame> tabela<-

data.frame(A=A,B=B,bloco=bl,dados=dados)

> #fazendo a anova

> #fazendo a anova> saida<-aov(dados~bloco+A+B+A*B+Error(bloco/A),tabe

la)> summary(saida)> model.tables(saida,"means")

36Resíduo

2A x B

2B

3Resíduo(a)

1A

3Bloco

GLFV

Usando o R

Page 85: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Blocos incompletos

• Blocos Aumentados de Federer• Blocos Incompletos Balanceados• Blocos Incompletos não Balanceados

• Veja possibilidades no pacote agricolae: help(package=“agricolae”)

Page 86: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Esquema ilustrativo - Blocos Aumentados

A C

Bloco 1 Bloco 2

B A C A B

B A C5 4 36 1 2

A C B11 9 1210 7 8Blocos 1 e 2

aumentados

+ 12 trat

Page 87: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Blocos Aumentados#Criando o delineamento (design.dau())

library(agricolae)

# 3 tratamentos and 2 blocos

T1<-c("A","B","C") ; T2<-letters[1:12]

dau <-design.dau(T1,T2, r=2)

# livro de campo: dau by(dau,dau[2],function(x) paste(x[,1],"-",as.character(x[,3])))

# escrevendo no HD:

# write.table(dau,"dau.txt", row.names=FALSE, sep="\t")

# file.show("dau.txt")

# Delineamento aumentado no DIC:

trt<-c(T1,T2); r<-c(4,4,4,1,1,1,1,1,1,1,1,1,1,1,1)

livro <- design.crd(trt,r)

Usando o R

Page 88: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Gerando e analisando dados> #Exemplo DBA > #Gerar y = rnorm(18,30,2)> args(DAU.test):function (block, trt, y, method = c("lsd", "tukey"))

> cbind(dau,y)> DAU.test(dau$block,dau$trt,y, "lsd")> saida<- DAU.test(dau$block,dau$trt,y, "lsd")> saida

Usando o R Ex: Usando o R

Page 89: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Comparando Pacotes

• Comparando o agricolae com o ExpDes

Usando o R

Page 90: Mini Curso Prof Peternelli

Curso R - Prof. Luiz A. Peternelli - CBMP, 2011

Modelos mistos

• Para a análise de modelos mistos, o R apresenta uma biblioteca muito versátil e extremamente poderosa chamada nlme – nonlinear mixed effects model, que permite a avaliação de modelos mistos lineares e nãolineares.

• Para acessá-la basta entrar com o seguinte comando:– > library(nlme)

• Uma vez carregada essa biblioteca, digite help(package=nlme) para maiores informações e exemplo de aplicação.

• Veja, por exemplo: – > ?lme