Curso de Extens˜o a Planejamento de Experimentos

Adilson dos Anjos & Paulo Justiniano Ribeiro Junior ´ Ultima atualiza¸ao: 11 de abril de 2003 c˜

1

Uma primeira sess˜o com o R a

Vamos come¸ar “experimentando o R”, para ter uma id´ia de seus recursos e a forma de c e trabalhar. Para isto vamos rodar e estudar os comandos abaixo e seus resultados para nos familiarizar com o programa. Nas sess˜es seguintes iremos ver com mais detalhes o uso do o programa R. Siga os seguintes passos. 1. inicie o R em seu computador. 2. voce ver´ uma janela de comandos com o s´ a ımbolo >. Este ´ o prompt do R indicando que o programa est´ pronto para receber comandos. e a 3. a seguir digite (ou ”recorte e cole”) os comandos mostrados abaixo. No restante deste texto vamos seguir as seguintes conven¸˜es. co • comandos do R s˜o sempre mostrados em fontes do tipo typewriter como esta, a • linhas iniciadas pelo s´ ımbolo # s˜o coment´rios e s˜o ignoradas pelo R. a a a # gerando dois vetores de coordenadas x e y de n´meros pseudo-aleat´rios u o x <- rnorm(50) y <- rnorm(x) # colocando os pontos em um gr´fico. a # Note que a janela gr´fica se abrir´ automaticamente a a plot(x, y) # medidas descritivas ... mean(x) median(x) var(x) sd(x) quantile(x) quantile(x, probs = c(0.10, 0.50, 0.90)) quantile(x, probs = seq(0, 1, by=0.1)) 1

Curso de Extens˜o - R a

2

summary(x) table(cut(x, breaks=seq(-3, 3, by=1))) # ... e alguns gr´ficos a hist(x) boxcox(x) stem(x) # verificando os objetos existentes na ´rea de trabalho a ls() # removendo objetos que n~o s~o mais necess´rios a a a rm(x, y) # criando um vetor com uma sequ^ncia de n´meros de 1 a 20 e u x <- 1:20 # um vetor de pesos com os desvios padr~es de cada observa¸~o o ca w <- 1 + sqrt(x)/2 # montando um ‘data-frame’ de 2 colunas, x e y, e inspecionando o objeto dummy <- data.frame(x=x, y= x + rnorm(x)*w) dummy # Ajustando uma regress~o linear simples de y em x e examinando os resultados a fm <- lm(y ~ x, data=dummy) summary(fm) # como n´s sabemos os pesos podemos fazer uma regress~o ponderada o a fm1 <- lm(y ~ x, data=dummy, weight=1/w^2) summary(fm1) # tornando vis´veis as colunas do data-frame ı attach(dummy) # fazendo uma regress~o local n~o-param´trica a a e lrf <- lowess(x, y) # plotando os pontos plot(x, y) # adicionando a linha de regress~o local ... a lines(x, lrf$y) # ... e a linha de regress~o verdadeira (intercepto 0 e inclina¸~o 1) a ca abline(0, 1, lty=3) # a linha da regress~o sem pondera¸~o a ca abline(coef(fm))

Curso de Extens˜o - R a

3

# e a linha de regress~o ponderada. a abline(coef(fm1), col = "red") # removendo o objeto do caminho de procura detach() # O gr´fico diagn´stico padr~o para checar homocedasticidade. a o a plot(fitted(fm), resid(fm), xlab="Fitted values", ylab="Residuals", main="Residuals vs Fitted") # gr´ficos de escores normais para checar a # assimetria, curtose e outliers (n~o muito ´til aqui) a u qqnorm(resid(fm), main="Residuals Rankit Plot") # ‘‘limpando’’ novamente (apagando objetos) rm(fm, fm1, lrf, x, dummy) Vamos agora ver alguns gr´ficos gerados pelas fun¸oes contour e image. a c˜ # x ´ um vetor de 50 valores igualmente espa¸ados e c x <- seq(-pi, pi, len=50) y <- x no intervalo [-pi\, pi]. y idem.

# f ´ uma matrix quadrada com linhas e colunas indexadas por x e y respectivamente e # com os valores da fun¸~o cos(y)/(1 + x^2). ca f <- outer(x, y, function(x, y) cos(y)/(1 + x^2)) # gravando par^metros gr´ficos e definindo a regi~o gr´fica como quadrada a a a a oldpar <- par(no.readonly = TRUE) par(pty="s") # fazendo um mapa de contorno de f e depois adicionando # mais linhas para visualizar mais detalhes contour(x, y, f) contour(x, y, f, nlevels=15, add=TRUE) # fa ´ a ‘‘parte assim´trica’’. (t() ´ transposi¸ao). e e e c~ fa <- (f-t(f))/2 # fazendo um mapa de contorno contour(x, y, fa, nlevels=15) # ... e restaurando par^metros gr´ficos iniciais a a par(oldpar) # Fazendo um gr´fico de imagem a image(x, y, f) image(x, y, fa)

ylim=c(-1. a # O R pode fazer opera¸~o com complexos ca th <.Curso de Extens˜o ..rnorm(100) + rnorm(100)*1i # . ı a uma forma simples de fazer isto ´ tomar n´meros complexos com parte e u real e imagin´ria padr~o a a <.seq(-pi. u z <. y.R a 4 # e apagando objetos novamente antes de prosseguir. xlim=c(-1. xlab="x".1). w. pch="+". f. type="l") # # # w Suponha que desejamos amostrar pontos dentro do c´rculo de raio unit´rio.1). ylim=c(-1. rm(x.exp(1i*th) # plotando complexos significa parte imagin´ria versus real a # Isto deve ser um c´rculo: ı par(pty="s") plot(z. pch="+". fa) Para encerrar esta sess˜o vajamos mais algumas funcionalidades do R.ifelse(Mod(w) > 1..xlab="x". ylab="y") lines(z) # este segundo m´todo usa a distribui¸~o uniforme. objects(). z) # saindo do R q() . w) # todos os pontos est~o dentro do c´rculo unit´rio. a e plot(w. ylab="y") lines(z) # apagando os objetos rm(th. e para mapear qualquer externo ao c´rculo no seu rec´proco: ı ı w <. 1/w.1). e ca # os pontos devem estar melhor distribu´dos sobre o c´rculo ı ı w <. pi. xlim=c(-1. mas a distribui¸~o a ı a ca # n~o ´ uniforme.sqrt(runif(100))*exp(2*pi*runif(100)*1i) plot(w. len=100) # 1i denota o n´mero complexo i.1).

org. e c˜ Demos O R vem com algumas demonstra¸oes (demos) de seus recursos “embutidas” no programa.ufpr. Voce vai ter que teclar ENTER a a a para ver o pr´ximo gr´fico. Na tela de comandos ser˜o a a a mostrados comandos que ser˜o utilizados para gerar um gr´fico seguidos da mensagem: a a Hit <Return> to see next plot: . O programa pode ser copiado livremente pela internet. Para c˜ listar as demos dispon´ ıveis digite na linha de comando: demo() E para rodar uma delas basta colocar o nome da escolhida entre os parˆnteses.br/R Ser´ feita uma apresenta¸ao da p´gina do R durante o curso onde os principais recursos ser˜o a c˜ a a comentados assim como as id´ias principais que governam o projeto e suas dire¸oes futuras.~~~~~~~~ Type <Return> to start : • pressione a tecla ENTER • a “demo” vai ser iniciada e uma tela gr´fica ir´ se abrir.br/R ou ent˜o via FTP: a ftp://est. colaboradores. H´ um espelho (mirror) brasileiro a da ´rea de downloads do programa no Departamento de Estat´ a ıstica da UFPR: http://www. Por exemplo.Curso de Extens˜o . e vamos rodar a de recursos gr´ficos. Detalhes sobre o projeto.est. o a • inicie o programaR • no “prompt” do programa digite: demo(graphics) • Voce vai ver a seguinte mensagem na tela: demo(graphics) ---. Note que os comandos v˜o aparecer na janela de comandos e a a os gr´ficos ser˜o automaticamente produzidos na janela gr´fica. a documenta¸ao e diversas outras informa¸˜es podem ser encontradas na p´gina oficial do projeto c˜ co a em: http://www.r-project.ufpr.R a 5 2 Recursos do R O projeto R O programa R ´ gratuito e de c´digo aberto que propicia excelente ambiente para an´lises e o a estat´ ısticas e com recursos gr´ficos de alta qualidade.

. tipos de pontos. por exemplo. a a Prossiga inspecionando os gr´ficos e comandos e pressionando ENTER at´ terminar a a e “demo”.R a 6 • inspecione os comandos e depois pressione novamente a tecla ENTER. linhas. a Para acessar o RWeb v´ at´ a p´gina do Re no menu ` esquerda da p´gina siga os links: a e a a a R GUIs .est. Agora voce pode visualizar na janela gr´fica o gr´fico produzido pelos comandos mostraa a dos anteriormente. e e . • agora na tela de comandos apareceram novos comandos para produzir um novo gr´fico e a a mensagem: Hit <Return> to see next plot: • inspecione os novos comandos e depois pressione novamente a tecla ENTER. Um novo gr´fico surgir´ ilustrando outros recursos do programa. Isto a e a pode trazer alguma dificuldade no inicio at´ que o usu´rio de familiarize com os comandos mais e a a comuns. . Para us´-lo basta estar conectado na internet. Um tutorial sobre o R Al´m dos recursos ilustrados neste curso h´ tamb´m um Tutorial de Introdu¸˜o ao R dispon´ e a e ca ıvel em http://www. cores dos pontos.Curso de Extens˜o .br/Rtutorial. a RWeb Este ´ um mecanismo que permite rodar o R pela web. a u H´ ainda uma diversidade de recursos dispon´ a ıveis na p´gina do projeto. Experimente outras demos como demo(pers) e demo(image). Uma boa forma de aprender e memorizar os comandos b´sicos ´ utilizar o Cart˜o de a e Referˆncia que cont´m os comandos mais frequentemente utilizados. R Web Nesta p´gina selecione primeiro o link R Web e examine seu conte´do. Outros materiais podem ser encontrados na p´gina do projeto. Inspecione o gr´fico cuidadosamente verificando os recursos utilizados a (t´ ıtulo. sem que voce precise ter o R instalado e no seu computador. etc). a Cart˜o de referˆncia a e Conforme voce viu na Sess˜o 1 para utilizar o R ´ necess´rio conhecer e digitar comandos.ufpr. Os participantes a do curso s˜o estimulados a explorar detalhadamente ao final do curso os outros recursos da a p´gina. cores de fundo. legendas dos eixos.

is. Inspecione-os cuidadoa a samente e discuta os resultados e a manipula¸˜o do programa R. mean) ex01. A seguir vamos inspecionar o objeto que armazena os dados e suas componentes.tapply(resp. A seguir s˜o apresentados os comandos para a an´lise do experimento.m <. ca Primeiro lemos o arquivo de dados que deve ter sido copiado para o seu diret´rio de trabalho. mean) H´ um mecanismo no R de ”anexar”objetos ao caminho de procura que permite economizar a um pouco de digita¸˜o. head=T) ex01 Caso o arquivo esteja em outro diret´rio deve-se colocar o caminho completo deste diret´rio o o no argumento de read.factor(ex01$trat) is.m .table("exemplo01. a a e Vamos agora fazer uma r´pida an´lise descritiva: a a summary(ex01) tapply(ex01$resp. trat.frame no caminho de a procura com o comando attach() fazemos com que os componentes deste objeto se tornem imediatamente dispon´ ıveis e portanto podemos. sendo uma delas e a um fator (a vari´vel trat) e a outra uma vari´vel num´rica. trat. obtendo algumas medidas e gr´ficos.table acima. mean) Interessante n˜o? Quando ”anexamos”um objeto do tipo list ou data. digitar somente trat ao inv´s de e ex01$trat.data. Vamos prosseguir com a an´lise explorat´ria. por exemplo.R a 7 3 Experimentos com delineamento inteiramente casualizados Nesta sess˜o iremos usar o R para analisar um experimento em delineamento inteiramente a casualizado.Curso de Extens˜o . Veja os comandos abaixo e compara com o comando anterior.numeric(ex01$resp) Portando conclu´ ımos que o objeto ´ um data-frame com duas vari´veis.read. o ex01 <. ca search() attach(ex01) search() tapply(resp.frame(ex01) names(ex01) ex01$resp ex01$trat is.txt". ex01$trat. a o a ex01.

av)$Mean[2] # estimativa da vari^ncia a res <.av) ex01.Curso de Extens˜o . trat) Agora vamos fazer a an´lise de variˆncia. bartlett. a o detach(ex01) ex01. cex=1.av) # pressione a tecla enter para mudar o gr´fico a par(mfrow=c(2.anova(ex01.av) Portanto o objeto ex01. ylab="res´duos") ı title("res´duos vs Preditos") ı names(anova(ex01.5) boxplot(resp ~ trat) Al´m dos gr´ficos acima podemos tamb´m verificar a homogeneidade de variˆncias com o e a e a Teste de Bartlett. pch="x".1)) plot(ex01.av)) s2 <. col=2. ex01.ex01.av$res # extraindo res´duos ı respad <.av$fit.av guarda os resultados da an´lise.av$res. data = ex01) ex01.v tapply(resp. var) 8 plot(ex01) points(ex01.2)) plot(ex01.av$coef ex01.aov(resp ~ trat. main=NULL) .test(resp.av <.av) anova(ex01.av$res residuals(ex01. xlab="valores ajustados". Vamos inspecionar este objeto a mais cuidadosamente e fazer tamb´m uma an´lise dos resultados e res´ e a ıduos: names(ex01.(res/sqrt(s2)) # res´duos padronizados ı boxplot(respad) title("Res´duos Padronizados" ) ı hist(respad.av summary(ex01.av) par(mfrow=c(1.v <ex01.m.av) plot(ex01. trat.R a ex01. Vamos ”desanexar”o objeto com os dados (embora a a isto n˜o seja obrigat´rio).

main=NULL) qqline(res) title("Grafico Normal de Probabilidade dos Res´duos") ı shapiro.tu <.R a title("Histograma dos res´duos padronizados") ı stem(respad) qqnorm(res.av) plot(ex01.TukeyHSD(ex01.test(res) E agora um teste Tukey de compara¸ao m´ltipla c˜ u ex01.Curso de Extens˜o .ylab="Residuos".tu) 9 .

8 a Est´gio 5 6.7 Inicialmente vamos entrar com os dados no R.Curso de Extens˜o .5 6. Digitamos o comando c˜ abaixo e e fun¸ao scan recebe os dados. a Tabela 1: Conte´do de ´leo de S. > y <.9 7..4 2: 5.199).3 7. p. 1980.3 a Est´gio 3 4.0 .3 a Est´gio 6 6.frame com os dados e os indicadores de blocos e tratamentos. Vamos aqui usar a fun¸ao scan e entrar com os dados por linha da tabela.1 3. 24: 6.4 a Est´gio 4 6.9 4. OBS: Note que. estag.plot(estag. sendo um programa escrito na l´ ıngua inglesa. linicola.0 4.1 6.frame(estag = factor(rep(1:6.scan() 1: 4. bloco. resp) interaction. os decimais devem ser indicados por ’. 6)). Os dados est˜o reproduuzidos na tabela abaixo.7 25: Read 24 items Agora vamos montar um data.0 4.1 6.plot(bloco.9 3: 6. Est´gios a I Est´gio 1 4. em v´rios est´gios de crescimento a a Blocos II III 5.R a 10 4 Experimentos com delineamento em blocos ao acaso Vamos agora analisar o experimento em blocos ao acaso descrito na apostila do curso. a e Vamos agora explorar um pouco os dados. H´ v´rias poss´ a a ıveis maneiras de fazer isto.4 7. resp=y) Note que usamos a fun¸ao factor para indicar que as vari´veis blocos e estag s˜o n´ c˜ a a ıveis de fatores e n˜o valores num´ricos.9 4.6 7. em u o (Steel & Torrie. Depois de digitar o ultimo dado digitamos ENTER c˜ ´ em um campo em branco e a fun¸ao encerra a entrada de daods retornando para o prompt do c˜ programa.9 6.’ e n˜o por v´ a ırgulas.4 a percentagem.9 5.0 1. resp) .4 a Est´gio 2 3.1 7.data. ex02 <. names(ex02) summary(ex02) attach(ex02) plot(resp ~ estag + bloco) interaction.. each=4)). bloco=factor(rep(1:4.7 IV 4.

R a 11 ex02.2)) preditos <.2)) plot(ex02.mt.mt ex02.1)) residuos <. incluindo a an´lise de res´ a ıduos e testes para verificar a validades dos pressupostos do modelo. pch="x". mean) ex02.tapply(resp. resp) points(ex02. A seguir vamos ajustar o modelo e obter outros resultados. col=2. main=NULL) qqline(residuos) title("Grafico Normal de \n Probabilidade dos Res´duos") ı ## teste para normalidade shapiro.av$residuals) plot(ex02$bloco.(residuos/sqrt(anova(ex02. cex=1.Curso de Extens˜o .5) Nos gr´ficos e resultados acima procuramos captar os principais aspectos dos dados bem a como verificar se n˜o h´ intera¸˜o entre blocos e tratamentos.av) names(ex02.av$fitted.residuos) title("Res´duos vs Est´gios") ı a par(mfrow=c(2. cex=1.preditos) title("Res´duos vs Preditos") ı respad <.mb. o que n˜o deve acontecer neste a a ca a tipo de experimento. resp) points(ex02.5) plot.av <.default(bloco.mb <.tapply(resp.values) plot(residuos.(ex02.av) par(mfrow=c(2. ex02. pch="x".residuos) title("Res´duos vs Blocos") ı plot(ex02$estag.mb plot. mean) ex02.av) par(mfrow=c(2.av)$"Mean Sq"[2])) boxplot(respad) title("Res´duos Padronizados") ı qqnorm(residuos. estag. col=2. bloco.ylab="Residuos".test(residuos) ## Testando a n~o aditividade a .aov(resp ~ bloco + estag) anova(ex02.default(estag.(ex02.mt <.

update(ex02.tk) detach(ex02) .tk <.Curso de Extens˜o . ex02. ex02.av$coeff[2:4]) tr <.R a ## primeiro vamos extrair coeficientes de tratamentos e blocos ex02. 6) * rep(tr.c(0.av$coeff[5:9]) bl tr ## agora criar um novo termo e testar sua significancia na ANOVA bltr <. ex02.TukeyHSD(ex02. ord=T) ex02. . "estag".av.~. rep(4.6)) ttna <.av$coeff bl <. + bltr) anova(ttna) 12 Os resultados acima indicam que os pressupostos est˜o obedecidos para este conjunto de a dados e a an´lise de variˆncia ´ v´lida.tk plot(ex02.av.c(0. Como foi detectado efeito de tratamentos vamos a a e a proceder fazendo um teste de compara¸˜es m´ltiplas e encerrar as an´lises desanexando o co u a objeto do caminho de procura.rep(bl.

factor(esp) [1] TRUE > is. c˜ 2. sendo que as co a a duas primeiras s˜o fatores enquanto resp ´ uma vari´vel num´rica.factor(resp) [1] FALSE > is.read.txt". An´lise explorat´ria a o Inicialmente vamos obter um resumo de nosso conjunto de dados usando a fun¸ao c˜ summary. Clique a aqui para ver e copiar o arquivo com conjunto de dados para o seu diret´rio de trabalho. bem como o nome das vari´veis. O objeto ex04 foi inclu´ no caminho de procura usando o comando a ıdo attach para facilitar a digita¸ao. Vamos c˜ a a a temb´m pedir o R que exiba um r´pido resumo dos dados. que neste caso ´ a a e a e e vari´vel resposta.factor(rec) [1] TRUE > is.:19. e a > dim(ex04) [1] 24 3 > names(ex04) [1] "rec" "esp" > attach(ex04) > is.table: > ex04 <. Lendo os dados Vamos considerar agora que os dados j´ esteajm digitados em um arquivo texto.Curso de Extens˜o .numeric(resp) [1] TRUE Nos resultados acima vemos que o objeto ex04 que cont´m os dados tem 24 linhas (obe serva¸˜es) e 3 colunas (vari´veis). :18.70 "resp" . e 1.table("exemplo04.R a 13 5 Experimentos em esquema fatorial O experimento fatorial descrito na apostila do curso de Planejamento de Experimentos II comparou o crescimento de mudas de eucalipto considerando diferentes recipientes e esp´cies. header=T) > ex04 Antes de come¸ar as an´lise vamos inspecionar o objeto que cont´m os dados para saber c a e quantas observa¸oes e vari´veis h´ no arquivo. o A seguir vamos ler (importar) os dados para R com o comando read. > summary(ex04) rec esp resp r1:8 e1:12 Min.75 r3:8 Median :23. As vari´veis tem nomes rec.60 r2:8 e2:12 1st Qu. esp e resp.

e e Experimente nos comandos acima substituir mean por var para calcular a variˆncia de a cada grupo. esp. > par(mfrow=c(1.esp).2)) > interaction.:25.07500 Nos comandos acima calculamos as m´dias para cada fator.325 > ex04. An´lise de variˆncia a a Seguindo o modelo adequado. :26. Inie ca cialmente vamos fazer isto graficamente e mais a frente faremos um teste formal para presen¸a de intera¸ao. list(rec. resp) > interaction.6875 > ex04.Curso de Extens˜o .plot(esp.650 25.me e1 e2 23. o an´lise de variˆncia para este experimento inteiramente a a casualizado em esquema fatorial pode ser obtida com o comando: > ex04.575 r3 20.av <. rec. J´ a para a vari´vel num´rica s˜o mostrados algumas medidas estat´ a e a ısticas.tapply(resp.mr r1 r2 r3 25.aov(resp ~ rec + esp + rec * esp) Entretanto o comando acima pode ser simplificado produzindo os mesmos resultados com o comando . mean) > ex04. esp.m <. rec. e por summary para obter um outro resumo dos dados.97 3rd Qu.050 21.875 19.4875 22.R a Mean :22. Em experimentos fatoriais ´ importante verificar se existe intera¸˜o entre os fatores. Os comandos a seguir s˜o usados para produzir os gr´ficos exibic c˜ a a dos na Figura 1.7250 20. Note que podemos calcular outros resumos al´m da m´dia.plot(rec.85833 22. mean) > ex04. assim como para os crue zamentos entre os fatores.mr <. mean) > ex04.tapply(resp.70 14 Note que para os fatores s˜o exibidos o n´mero de dados em cada n´ a u ıvel do fator. resp) 3.325 r2 25.tapply(resp.me <. Vamos explorar um pouco mais os dados > ex04.m e1 e2 r1 25.48 Max.

875 0.00 . codes: 0 ‘***’ 0.082 14.880 24.635e-06 *** Residuals 18 23.283 --Signif.49 22.tables aplicada a este objeto produz tabelas das c˜ m´dias definidas pelo modelo.00 8.av <.aov(resp ~ rec * esp) > summary(ex04. Por exemplo a fun¸ao model.001 ‘**’ 0.model.430 36.av) Df Sum Sq Mean Sq F value Pr(>F) rec 2 92.R a 26 26 15 esp 25 e2 e1 25 rec r1 r3 r2 24 mean of resp 22 23 21 20 r1 r2 rec r3 20 21 mean of resp 22 23 24 e1 esp e2 Figura 1: Gr´ficos de intera¸ao entre os fatores.av.761 31.861 46.1 ‘ ’ 1 Isto significa que no R.924e-07 *** esp 1 19.05 ‘.69 rep 8.96667 rec r1 r2 r3 25. A an´lise acima ostra que este efeito ´ significativo. Note no quadro de an´lise de variˆncia que a intera¸˜o ´ a a ca e denotada por rec:esp.01 ‘*’ 0.853 6.Curso de Extens˜o .av guarda todos os resultados da an´lise e pode ser explorado por diversos a comandos. os efeitos principais s˜o c˜ a inclu´ ıdos automaticamente.090 1. ao colocar uma intera¸ao no modelo.mt Tables of means Grand mean 22. e u e > ex04.00 8. Note que no resultado est´ inclu´ a ıdo tamb´m o n´mero de dados que gerou cada m´dia. confirmando a e o que verificamos nos gr´ficos de intera¸ao vistos anteriormente.001155 ** rec:esp 2 63. ty="means") > ex04.mt <. a c˜ > ex04.082 19.73 20. O resultado mostra a m´dia geral.tables(ex04. m´dias de cada n´ e e e ıvel fatores e das combina¸oes dos n´ c˜ ıveis dos fatores. a c˜ O objeto ex04.’ 0.195 4.

resid(ex04. a > par(mfrow=c(2.575 4.av) "effects" "qr" "call" "rank" "df.050 rep 4. mudar texto de eixos e t´ a a ıtulos.av pertence `s classes aov e lm. etc. An´lise de res´ a ıduos Ap´s ajustar o modelo devemos proceder a an´lise dos res´ o a ıduos para verificar os pressupostos. etc. > names(ex04. > par(mfrow=c(2.650 rep 4. Existe uma fun¸˜o chamada summary. Evidentemente voce n˜o precisa se limitar os gr´ficos produzidos a a automaticamente pelo R – voce pode criar os seus pr´prios gr´ficos muito facilmente.86 22.875 rep 4.325 4. Examine os comandos abaixo e os gr´ficos por eles produzidos.00 rec:esp esp rec e1 r1 25.000 Mas isto n˜o ´ tudo! O objeto ex04. Na verdade j´ usamos este fato acima quando digitamos o comando a a summary(ex04. Iremos usar mais este mecanismo no pr´ximo passo da an´lise.av possui v´rios elementos que guardam informa¸˜es a e a co sobre o ajuste.2)) > plot(ex04.000 16 e2 25.av) [1] "coefficients" "residuals" [5] "fitted.aov que foi utilizada j´ que o ca a objeto ´ da classe aov.000 21.1)) > residuos <.000 r3 20.000 r2 25. etc.00 12.av) [1] "aov" "lm" O comando class mostra que o objeto ex04. o a Neste gr´ficos voce pode usar outras vari´veis.07 rep 12.Curso de Extens˜o . Isto siga nifica que devem haver m´todos associados a este objeto que tornam a explora¸˜o do e ca resultado mais f´cil.av) Os gr´ficos permitem uma an´lise dos res´ a a ıduos que auxiliam no julgamento da adequacidade do modelo.values" "assign" [9] "contrasts" "xlevels" [13] "model" > class(ex04. e o a 4. O R produz automaticamente 4 gr´ficos b´sicos de res´ a a ıduos conforme a Figura 2 com o comando plot.R a esp e1 e2 23.325 4.av).residual" "terms" .000 19.

av$fitted. number 20 Figura 2: Gr´ficos de res´ a ıduos produzidos automaticamente pelo R. Como exemplo vejamos e teste de Shapiroe a a .0 0. residuos) > title("Res´duos vs Recipientes") ı > plot(ex04$esp.values) plot(residuos.res respad <. residuos) > title("Res´duos vs Esp´cies") ı e > > > > > > > > > > > par(mfrow=c(2.5 1.sum(resid(ex04.Curso de Extens˜o .5 Scale−Location plot 17 14 21 Cook’s distance plot Cook’s distance 0.ylab="Residuos".R a 17 Residuals vs Fitted 17 14 Normal Q−Q plot Standardized residuals −1 0 1 2 3 17 14 Residuals 0 1 2 3 −2 21 21 20 21 22 23 24 Fitted values 25 26 −2 −1 0 1 Theoretical Quantiles 2 Standardized residuals 0.0 5 10 15 Obs.4 17 14 21 20 21 22 23 24 Fitted values 25 26 0.residuos/sqrt(s2) boxplot(respad) title("Res´duos Padronizados") ı qqnorm(residuos.(ex04. preditos) title("Res´duos vs Preditos") ı s2 <.av$df. > plot(ex04$rec. main=NULL) qqline(residuos) title("Grafico Normal de \n Probabilidade dos Res´duos") ı Al´m disto h´ alguns testes j´ programados.2 0.0 1.av)^2)/ex04.2)) preditos <.

Poder´ ıamos simplesmente digitar: . r3=3))) Df Sum Sq Mean Sq F value Pr(>F) rec 2 92.test(residuos) Shapiro-Wilk normality test data: residuos W = 0. Os que n˜o est˜o implementados podem ser facilmente calculados a a utilizando os recursos do R.R a Wilk para testar a normalidade dos res´ ıduos. Desta forma podemos desdobrar os efeitos de esp´cie dentro de cada recipiente e e vice versa conforme mostrado a seguir. split=list("rec:esp"=list(r1=1.283 --Signif.251 3.001155 ** esp:rec 4 156.4)))) Df Sum Sq Mean Sq F value Pr(>F) esp 1 19. A ıvel forma de fazer isto no R ´ reajustar o modelo utilizando a nota¸ao / que indica efeitos e c˜ aninhados.500 34.’ 0.avr.730e-06 *** Residuals 18 23.Curso de Extens˜o .211 0.01 ‘*’ 0.9293.1647 0.380 79.001 ‘**’ 0.05 ‘.430 36.155 30.438e-08 *** esp:rec: e1 2 87. split=list("esp:rec"=list(e1=c(1.1 ‘ ’ 1 6.ave <.875 0.380 61.5269 3.’ 0. r2=2. p-value = 0.090 3. > shapiro.112e-07 *** rec:esp: r3 1 3.283 --Signif. e muitos deles implementados no R.1952 4.01 ‘*’ 0.1288 Residuals 18 23.509e-06 *** rec:esp: r1 1 0.05 ‘. codes: 0 ‘***’ 0.614 21.090 1.842 27.090 1.8813 3.aov(resp ~ rec/esp) > summary(ex04. Desdobrando intera¸˜es co 18 Conforma visto na apostila do curso. e2=c(2.ave.6897 rec:esp: r2 1 79.622 39.09402 5.561 33.aov(resp ~ esp/rec) > summary(ex04. a primeira usando uma implementa¸˜o com a fun¸ao TukeyHSD e uma segunda fazendo ops c´lculos necess´rios ca c˜ a a com o R.251 2.958 7.750 27. codes: 0 ‘***’ 0.861 46. Teste de Tukey para compara¸oes m´ ltiplas c˜ u H´ v´rios testes de compara¸oes m´ltiplas dispon´ a a c˜ u ıveis na literatura.1 ‘ ’ 1 > ex04.082 19.524 8.001 ‘**’ 0. Vejamos por exemplo duas formas de usar o Teste de Tukey. quando a intera¸ao entre os fatores ´ significativa c˜ e podemos desdobrar os graus de liberdade de um fator dentro de cada n´ do outro.5345 0.211 0.924e-07 *** rec:esp 3 82.082 14.avr <. > ex04.122 43.3).776e-07 *** esp:rec: e2 2 69.

] -6.729815 -1.2951851 -7.325 [6.] -5.275 [9.av) > plot(ex04.tk) > ex04.8201851 -6.779815 3.] 1.] -0.279815 -2.075 [4.tk) > ex04.600 [5.tk <.325 [2.ave.295185 3.8451851 -8.475 [14.300 [11.] 1.95.sum(resid(ex04.] -6.R a > ex04.754815 -3.020185 4.275 lwr -2.004815 3.5451851 -8.750 [15.] -4.8701851 -1.res > dt <.825 [12.000 [10.7951851 -1.] 0. Podemos ent˜o pedir a fun¸ao que somente mostre a compara¸˜o de m´dias entre as a c˜ ca e combina¸˜es dos n´ co ıvies dos fatores. Por exemplo.] 0.8701851 -2.750 [8.325 .820185 Mas ainda assim temos resultados que n˜o interessam.1451851 -6. 18) * sqrt(s2/4) > dt [1] 2.220185 2. Como a intera¸ao foi c˜ significativa na an´lise deste experimento a compara¸ao dos n´ a c˜ ıveis fatores principais n˜o a nos interessa.tk <.tk 19 e obter diversos resultados.204815 -2.] -4.av$df. "esp:rec") > plot(ex04.770185 -3.qtukey(0.095185 -3. Entretanto nem todos nos interessam. vamos fazer as compara¸˜es dos recipientes para cada uma das esp´cies. Mais especificamente estamos ina tessados nas compara¸oes dos n´ c˜ ıveis de um fator dentro dos n´ ıvies de outro.550 [7.0701851 -0.454815 -3. > ex04.TukeyHSD(ex04.3201851 -8.] -5.3701851 -7.054815 -1.Curso de Extens˜o .2701851 upr 2.] -5.9951851 -8.225 [3.] -4.] -5.tk Tukey multiple comparisons of means 95% family-wise confidence level Fit: aov(formula = resp ~ esp/rec) $"esp:rec" diff [1. co e Primeiro vamos obter > s2 <.043945 > > ex04.] 0.m e1 e2 r1 25.529815 -3.550 [13.av)^2)/ex04.650 25.TukeyHSD(ex04.0951851 -2. 3.6201851 -8.

Curso de Extens˜o .m[.m1n[lower. sig = ifelse(abs(m2d) > dt.600 -5. "ns")) dif sig r2-r1 -5.m1.outer(m2.ex04.050 21. "*".outer(names(m1).frame(dif = m1d.000 5.225 5.m[.225 -5. "ns")) dif sig r2-r1 0.outer(names(m2).1] > m1 r1 r2 r3 25.names(m2).600 -5. sep="-") > names(m2d) <.875 19.825 > > data.825 * > > m2 <.tri(m2n)] > data.600 * r3-r2 -5. sep="-") > names(m1d) <.225 ns r3-r1 -5.225 -5.paste.225 0.ex04.m2d[lower.825 > > m1n <.paste.600 -5.tri(m2d)] > m2n <.m2.names(m1).tri(m1n)] > m1d r2-r1 r3-r1 r3-r2 0.825 0.R a r2 25.00 * r3-r2 1.000 > m1d <. "*".600 r2 0.875 20.2] > m2d <. sig = ifelse(abs(m1d) > dt."-") > m2d <.m1d[lower.000 -0.frame(dif = m2d.325 > > m1 <.m2n[lower.tri(m1d)] > m1d r2 r3 <NA> 0.050 > m1d <.outer(m1."-") > m1d r1 r2 r3 r1 0.75 ns 20 .575 r3 20.75 * r3-r1 -4.825 r3 -5.650 25.

Tabela 2: N´mero de reclama¸˜es em diferentes sistemas de atendimento u co Trat Repeti¸oes c˜ 1 2 3 4 5 6 1 2370 1687 2592 2283 2910 3020 2 1282 1527 871 1025 825 920 3 562 321 636 317 485 842 4 173 127 132 150 129 227 5 193 71 82 62 96 44 Inicialmente vamos entrar com os dados usando a fun¸ao scan e montar um data-frame.942e-06 > shapiro.08535 .av$res W = 0. 30: 44 31: Read 30 items > tr <.aov(resp ~ trat. data=tr) plot(tr. tr$trat) Bartlett test for homogeneity of variances data: tr$resp and tr$trat Bartlett’s K-squared = 29. each=6).586.R a 21 6 Transforma¸˜o de dados ca Tranforma¸ao de dados ´ uma das poss´ c˜ e ıveis formas de contarnar o problema de dados que n˜o obedecem os pressupostos da an´lise de variˆncia. Vamos ver como isto poder ser feito a a a com o programa R.data.frame(trat = rep(1:5.. tr. a A menssagem ´ clara mas podemos ainda fazer testes para verificar o desvio dos pressupostos. df = 4.av$res) Shapiro-Wilk normality test data: tr.test(tr. Considere o seguinte exemplo da apostila do curso. p-value = 5. resp = y) > tr A seguir vamos fazer ajustar o modelo e inspecionar os res´ ıduos.scan() 1: 2370 2: 1687 3: 2592 . e > bartlett.av <. p-value = 0. c˜ > y <.test(tr$resp.Curso de Extens˜o .939.av) O gr´fico de res´ a ıduos vs valores preditos mostra claramente uma heterogeneidade de variˆncias e o QQ − plot mostra um comportamento dos dados que se afasta muito da normal..

a a a require(MASS) boxcox(resp ~ trat. Desta a c˜ e forma o pr´ximo passo ´ obter os dados transformados e depois fazer as an´lise utilizando estes o e a novos dados.avt) Note que os res´ ıduos tem um comportamento bem melhor do que o observado para os dados originais. Como estamos a c interessados no m´ximo fazermos um novo gr´fico com um zoom na regi˜o de interesse. a a NOTA: No gr´fico da verossimilhan¸a perfilhada notamos que ´ mostrado um intervalo de a c e confian¸a para λ e que o valor 0 est´ contido neste intervalo.Curso de Extens˜o . tr$respt <. λ onde λ ´ um parˆmeto a ser estimado dos dados. A an´lise deve prosseguir usando ent˜o os dados transformados.(tr$resp^(0. data=tr.avl) . Nos comandos a seguir come¸amos carreca c gando o pacote MASS e depois obtemos o gr´fico da verossimilhan¸a perfilhada. c˜ c a Devemos escolher o valor que maximiza esta fun¸˜o.1 tr. 1/10)) ˆ O gr´fico mostra que o valor que maximiza a fun¸ao ´ aproximadamente λ = 0. que consiste em c˜ transformar os dados de acordo com a express˜o a y = yλ − 1 .aov(log(resp) ~ trat. a A fun¸ao boxcox do pacote MASS calcula a verossimilhan¸a perfilhada do parˆmetro λ.avt <. c˜ e tr. data=tr) plot(tr. data=tr. 1. data=tr) plot(tr. Isto indica que podemos utilizar c a a transforma¸˜o logar´ ca ıtimica dos dados e os resultados ser˜o bom pr´ximos dos obtidos com a a o transforma¸ao pr´viamente adotada.1.R a 22 Nos resultados acima vemos que a homogeneidade de variˆncias foi rejeitada.aov(respt ~ trat. lam=seq(-1. Uma vez obtido o valor de λ encontramos os valores dos dados transformados conforme a equa¸ao acima e utilizamos estes dados transformados para c˜ efetuar as an´lises. a Para tentar contornar o problema vamos usar a transforma¸ao Box-Cox.avl <.1) . plotit=T) boxcox(resp ~ trat.1)/0. onde log ´ o logar´ e ıtmo neperiano. Se λ = 0 a equa¸ao acima se reduz a e a c˜ y = log(y).

a a Finalmente verificamos que a vari´vel resposta ´ num´rica e produzimos um r´pido resumo a e e a dos dados.0000 Max.txt".: 2. a O experimento estuda a variabilidade de lotes e fornecedores na puraza da mat´ria prima.txt est´ na sua ´rea de trabalho ou coloque o caminho do arquivo a a no comando abaixo). e > ex06 <. Para corrigir isto usamos o comando as. .factor para indicar ao R que estas vari´veis s˜o fatores.:-1.table (certifiquese que o arquivo exemplo06.read.0000 Nos comandos acima verificamos que o objeto ex06 possui 36 linhas correspondentes `s a observa¸oes e 3 colunas que correspondem `s vari´veis forn (fornecedor).R a 23 7 Experimentos com fatores hier´rquicos a Vamos considerar o exemplo da apostila retirado do livro de Montgomery. A seguir vamos examinar o objeto que cont´m os dados.as.0000 3:12 3:9 Median : 0. :-4.factor(ex06$forn) > ex06$lot <. A e an´lise assume que os fornecedores s˜o um efeito fixo enquanto que lotes s˜o efeitos aleat´rios. lot (lote) e resp (a c˜ a a vari´vel resposta).table("exemplo06.0000 4:9 Mean : 0.numeric(ex06$resp) [1] TRUE > summary(ex06) forn lot resp 1:12 1:9 Min. header=T) > ex06 > dim(ex06) [1] 36 3 > names(ex06) [1] "forn" "lot" "resp" > is. Clique aqui para ver e copiar o arquivo com conjunto de dados para sua ´rea de trabalho.0000 2:12 2:9 1st Qu.factor(ex06$forn) [1] FALSE > is.3611 3rd Qu.factor(ex06$resp) [1] FALSE > is.as. a a a o Inicialmente vamos ler (importar) os dados para R com o comando read.Curso de Extens˜o .factor(ex06$lot) > is. a ˜ A seguir verificamos que forn e lot n˜o foram lidas como fatores.factor(ex06$lot) [1] FALSE > ex06$forn <. : 4. NAO podemos seguir a as an´lise desta forma pois o R leria os valores destas vari´veis como quantidades num´ricas e a a e n˜o como indicadores dos n´ a ıvies dos fatores.

> ex06.001 ‘**’ 0.07736 . data=ex06) > summary(ex06.av1 <. A an´lise acima considerou todos os efeitos como fixos a a e portanto dividiu os quadrados m´dios dos efeitos pelo quadrado m´dio do res´ e e ıduo. alguns gr´ficos descritivos etc. mas o teste correto tamb´m n˜o foi feito! a e e a Isto n˜o ´ problema porque podemos extrair os elementos que nos interessam e fazer o teste a e desejado.5278 Error: Within Df Sum Sq Mean Sq F value Pr(>F) forn:lot 9 69.917 7. Desta forma poder´ c˜ e ıamos ajustar o modelo da seguinte forma: > ex06.anova) [1] "Df" "Sum Sq" > ex06.769 2. codes: 0 ‘***’ 0.’ 0.av <.anova) [1] TRUE > names(ex06.917 7.05 ‘.9439 0. codes: 0 ‘***’ 0. Veja o resultado abaixo.list(ex06.aov(resp ~ forn/lot + Error(forn) .av1) Error: forn Df Sum Sq Mean Sq forn 2 15. Vamos deixar isto por conta do a leitor e passar direto para a an´lise de variˆncia. Primeiro vamos guardar verificamos que o comando anova produz uma lista que tem entre seus elementos os graus de liberdade Df e os quadrados m´dios (Mean Sq.01667 * Residuals 24 63.01 ‘*’ 0.056 7.01667 * Residuals 24 63. A partir destes e elementos podemos obtemos o valor da estat´ ıstica F e o valor P associado. a o a como na an´lise dos experimentos mostrados anteriormente.01 ‘*’ 0. Como lotes ´ um efeito aleat´rio dever´ e o ıamos dividir o quadrado m´dio de to termo lot pelo quadrado e m´dio de forn:lot e Uma forma de indicar a estrutura hier´rquica ao R ´ especificar o modelo de forma que o a e termo de res´ ıduo seja dividido de maneira adequada.anova(ex06.1 ‘ ’ 1 Agora o teste F errado n˜o ´ mais mostrado.anova <.1 ‘ ’ 1 Embora os elementos do quadro de an´lise de variˆncia estejam corretos o teste F para a a efeito dos fornecedores est´ ERRADO.’ 0.R a 24 Na sequˆncia dever´ e ıamos fazer uma an´lise explorat´ria. a a A nota¸ao para indicar efeitos aninhados no modelo ´ /.aov(resp ~ forn/lot.333 2.528 2.av) > is.333 2.769 2.0556 7.9439 0.05 ‘.639 --Signif.anova$Df 1 2 "Mean Sq" "F value" "Pr(>F)" .001 ‘**’ 0. > ex06. forn:lot 9 69.Curso de Extens˜o .8526 0.639 --Signif.av) Df Sum Sq Mean Sq F value Pr(>F) forn 2 15. data=ex06) > summary(ex06.

anova$Mean[2] > Fcalc 1 0. ~ 1|forn/lot.1 .307561 1.9690107 > pvalor <.Curso de Extens˜o .307)2 = 1.lme(resp ~ forn. ex06.64. ˆ . data=ex06) > ex06.av <. c˜ Feito isto podemos rodar a fun¸ao lme que faz o ajuste do modelo.5833333 Random effects: Formula: ~1 | fa (Intercept) Residual StdDev: 1.638889 > Fcalc <.71 e a ˆ2 2 2 σ = (1.anova$Df[1].624) = 2.4166667 0.R a 2 9 24 > ex06. A seguir criamos uma vari´vel para indicar o efeito aleat´rio que neste exemplo chamamos de a o ex06$fa utilizando a fun¸ao getGroups.7500000 1.anova$Df[2]) > pvalor 1 0. random=~1|fa. c˜ > require(nlme) [1] TRUE > ex06$fa <. A sa´ acima a mostra as estimativas destes componentes da variˆncia como sendo σlote = (1.4157831 25 USANDO O PACOTE NLME Uma outra poss´ ıvel e elegante solu¸ao no R para este problema ´ utilizar a fun¸ao lme do c˜ e c˜ pacote nlme. a Inicialmente temos que carregar o pacote nlme com o comando require.anova$Mean 1 2 7.768519 2. Al´m disto temos a variˆncia residual σ 2 .624483 Number of Observations: 36 Number of Groups: 12 Este modelo tem a vari´vel forn como efeito fixo e a vari´vel lot como efeito aleat´rio a a o 2 e a ıda com o componente de variˆncia σlote .42198 Fixed: resp ~ forn (Intercept) forn2 forn3 -0. Vamos a seguir ver os comandos necess´rios comentar os resultados. level=2) > ex06. Note que a abordagem do problema por este pacote ´ um pouco diferente da e forma apresentada no curso por se tratar de uma ferramente geral para modelos com efeitos aleat´rios.pf(Fcalc. ex06. Entretanto os todos os elementos relevantes da an´lise est˜o inclu´ o a a ıdos nos resultados.anova$Mean[1]/ex06.getGroups(ex06.av Linear mixed-effects model fit by REML Data: ex06 Log-restricted-likelihood: -71.ex06.527778 7.

6043242 0.5178718 0.4445 forn 2 9 0.155644 Finalmente uma vers˜o mais detalhada dos resultados pode ser obtida com o comando a summary.Curso de Extens˜o .7500000 1.0772277 -0.6093 forn2 0.1378407 9 1. a o ıda a O comando intervals mostra os intervalos de confian¸a para os componentes de variˆncia.av) numDF denDF F-value p-value (Intercept) 1 24 0.7500000 3.3265 -71.307561 2. o que ´ o caso neste exemplo conforme vamos abaixo.Error DF t-value p-value (Intercept) -0.323975 forn3 -0.av) Linear mixed-effects model fit by REML Data: ex06 AIC BIC logLik 152.5263 forn3 1. O a a fato do programa n˜o incluir o efeito aleat´rio de lotes na sa´ n˜o causa problema algum.672682 Within-group standard error: lower est.624483 Fixed effects: resp ~ forn Value Std. c a Portanto para verificar a significˆncia do efeito de lotes basta ver se o intervalo para este a componente de variˆncia exclui o valor 0.4166667 0.307561 1.624483 2.8045749 24 -0. upper sd((Intercept)) 0. > summary(ex06.707 forn3 -0. a e > anova(ex06.9690643 0.4158 > intervals(ex06.500 .42198 Random effects: Formula: ~1 | fa (Intercept) Residual StdDev: 1.6591432 0.av) Approximate 95% confidence intervals Fixed effects: lower est.1975 Correlation: (Intr) forn2 forn2 -0.6397003 1.8239746 0. upper 1.707 0.243894 forn2 -1.R a 26 O comando anova vai mostrar a an´lise de variˆncia com apenas os efeitos principais.4166667 1.3915246 0.1378407 9 0.9906412 1.5833333 1.157308 Random Effects: Level: fa lower est.5833333 4.224202 1. upper (Intercept) -2.8440 160.

7500844 0.4751376 -0.8720268 O pr´ximo passo da seria fazer uma an´lise dos res´ o a ıduos para verificar os pressupostos. semelhante ao que foi feito nos experimentos anteriormente analisados.Curso de Extens˜o . Vamos deixar isto por conta do leitor.0812409 0.7060895 Number of Observations: 36 Number of Groups: 12 Max 1.R a 27 Standardized Within-Group Residuals: Min Q1 Med Q3 -1. .

00 3rd Qu.numeric(ex12$cov) [1] TRUE > is. data=ex12) > summary(ex12.200 27. data=ex12) > summary(ex12. ca > ex12.593 5. e a > ex12 <.av) Df Sum Sq Mean Sq F value Pr(>F) maq 2 140.1 ‘ ’ 1 A seguir testamos o efeito do fator maq corrigindo para o efeito da covari´vel.5 3:5 Median :24.as.aov(resp ~ maq + cov.00 Max.50 1st Qu.400 70. codes: 0 ‘***’ 0. a a a Isto ´ porque n˜o temos ortogonalidade entre os fatores. header=T) > ex12 > dim(ex12) [1] 15 3 > names(ex12) [1] "maq" "cov" "resp" > > ex12$maq <.table("exemplo12.read.:36.av) Df Sum Sq Mean Sq F value Pr(>F) .aov(resp ~ cov + maq. e a Primeiro vamos testar o intercepto (coeficiente β) da reta de regress˜o. a Come¸amos com a leitura e organiza¸ao dos dados.544 --Signif.’ 0.014 69. :32.av <.00 Min.2 3rd Qu.01 ‘*’ 0.001 ‘**’ 0.Curso de Extens˜o .:43.170e-05 *** cov 1 178. Note que para isto a vari´vel cov tem que ser a ultima na a ´ especifica¸˜o do modelo.00 Median :40. Note que neste caso temos 2 vari´veis c c˜ a num´ricas. a resposta (resp) e a covari´vel (cov). :32.014 178. :49. :15.numeric(ex12$resp) [1] TRUE > > summary(ex12) maq cov resp 1:5 Min.969 4.0 Na an´lise de covariˆncia os testes de significˆncia tem que ser obtidos em ajustes separados. Para isto a basta inverter a ordem dos termos na especifica¸˜o do modelo.986 2.av <. ca > ex12.264e-06 *** Residuals 11 27.txt".factor(ex12$maq) > is. Clique aqui para a a ver e copiar o arquivo com conjunto de dados para sua ´rea de trabalho.0 Mean :24.0 Max.:21.:27.13 Mean :40.05 ‘.R a 28 8 An´lise De Covariˆncia a a Vejamos agora a an´lise de covariˆncia do exemplo da apostila do curso.0 2:5 1st Qu. Na an´lise de a a variˆncia abaixo devemos considerar apenas o teste referente ` vari´vel cov que neste caso est´ a a a a corrigida para o efeito de maq.

96e-07 *** maq 2 13.130 305.642 2.Curso de Extens˜o .1181 Residuals 11 27.R a cov 1 305.05 ‘.130 119. codes: 0 ‘***’ 0.6106 0.01 ‘*’ 0.001 ‘**’ 0.’ 0.9330 2.1 ‘ ’ 1 29 .284 6.986 2.544 --Signif.

:62. Clique aqui para ver e copiar o arquivo com conjunto de dados.87 947.005945 ** Residuals 36 731.factor(ex09$b) > ex09$bloco <.table("exemplo09.001 ‘**’ 0.47 65.factor(ex09$a) > ex09$b <. > ex09 <.053859 .40 > > ex09.819 0.av <. desdobramento das intera¸˜es e testes de compara¸˜es m´ltiplas. :28.30 4:16 4:16 4:16 Mean :52.factor(ex09$bloco) > > summary(ex09) a b bloco resp 1:16 1:16 1:16 Min.90 3:16 3:16 3:16 Median :52.16 3.txt".34 13.7987 0.85 2.av) Error: bloco Df Sum Sq Mean Sq bloco 3 2842.:44. Os comandos abaixo mostram a leitura e prepara¸ao dos dados e a obten¸ao c˜ c˜ da an´lise de variˆncia.01 ‘*’ 0.02 949.’ 0.54 56.05 ‘.70 --Signif.read. data=ex09) > summary(ex09. header=T) > ex09 > dim(ex09) [1] 64 4 > names(ex09) [1] "a" "b" "bloco" "resp" > > ex09$a <. A obten¸ao da an´lise de variˆncia ´ ilustrada nos comandos e sa´ c˜ a a e ıdas abaixo.Curso de Extens˜o .001022 ** Residuals 9 618.29 68. :75.62 Error: bloco:a Df Sum Sq Mean Sq F value Pr(>F) a 3 2848.31 .81 3rd Qu.R a 30 9 Experimentos Em Parcelas Subdivididas Vamos mostrar aqui como especificar o modelo para an´lise de experimentos em parcelas a subdivididas. codes: 0 ‘***’ 0.20 20.38 Max.as.1 ‘ ’ 1 Error: Within Df Sum Sq Mean Sq F value Pr(>F) b 3 170. co co u Considere o experimento em parcelas subdivididas de dados de produ¸˜o de aveia descrito ca na apostila do curso.2082 0.aov(resp ~ bloco + a*b + Error(bloco/a). Deixamos por conta do leitor a an´lise explorat´ria e de res´ a a a o ıduos.as. a:b 9 586.as.30 2:16 2:16 2:16 1st Qu.

Curso de Extens˜o . codes: 31 0 ‘***’ 0.001 ‘**’ 0.05 ‘.R a --Signif.01 ‘*’ 0.1 ‘ ’ 1 .’ 0.

Agrˆnomo pela ESAL. UK. Mestre e o em Agronomia com ´rea de concentra¸ao em estat´ a c˜ ıstica e experimenta¸˜o agronˆmica pela ca o ESALQ/USP. E geoRglm contribu´ ıdos ao CRAN (Compreheensive R Arquives Network).Curso de Extens˜o . Mestre e o em Agronomia com ´rea de concentra¸ao em estat´ a c˜ ıstica e experimenta¸˜o agronˆmica pela ca o ESALQ/USP.R a 32 Sobre os ministrantes do curso Adilson dos Anjos ´ Eng. PJRJr ´ professor do Departamento de Estat´ e ıstica da Universidade Federal do Paran´ desde a ´ autor dos pacotes geoR e 1992 e tem usado o programa R em suas pesquisas desde 1999. Lavras (atual UFLA). Adilson ´ professor do Departamento de Estat´ e ıstica da Universidade Federal do Paran´ a desde 1998. PhD em Estat´ ıstica pela Lancaster University. Agrˆnomo pela Universidade Federal do Santa Catarina. Paulo Justiniano Ribeiro Junior ´ Eng. .

Sign up to vote on this title
UsefulNot useful