Disciplina: Tópicos Especiais (AF 722) - Modelagem e análise de dados experimentais com o programa computacional R
Professor Coordenador: PhD. Louise Larissa May De Mio
Professor Coordenador: PhD. Paulo Justiniano Ribeiro Júnior, LEG/UFPR
Professor Colaborador: MSc. Walmes Marques Zeviani, LEG/UFPR
Nº de Créditos: 4
Carga horária: 60h
Período Letivo: 2º semestre de 2012
Diretório com arquivos de dados e scripts do curso: af722_2012
Data | Atividade | Script |
---|---|---|
aula 01, 10/08 (M) sex | Informações gerais sobre à disciplina. Introdução ao R, download, instação, primeiros passos. | http://www.leg.ufpr.br/~walmes/cursoR/af722_2012/aula1.R |
aula 02, 10/09 (M) seg | Importação de dados no formato texto. | http://www.leg.ufpr.br/~walmes/cursoR/af722_2012/aula2.R |
aula 03, 13/09 (M) qui | Importação e visualização de dados. | http://www.leg.ufpr.br/~walmes/cursoR/af722_2012/aula3.R |
aula 04, 14/09 (M) sex | Aplicando filtros, selecionando subconjuntos e gráficos da lattice. | http://www.leg.ufpr.br/~walmes/cursoR/af722_2012/aula4.R |
aula 05, 22/10 (M) seg | Simulando dados, regressão polinomial e não linear. | http://www.leg.ufpr.br/~walmes/cursoR/af722_2012/aula5.R |
aula 06, 25/10 (M) qui | Análise de experimento com alternativas para satisfazer os pressupostos. | http://www.leg.ufpr.br/~walmes/cursoR/af722_2012/aula6.R |
aula 07, 26/10 (M) sex | Análise de experimento, ajuste de polinômio e modelos segmentados. | http://www.leg.ufpr.br/~walmes/cursoR/af722_2012/aula7.R |
aula 08, 01/11 (M) qui | Programado: aula teórica análise contagem e proporção. | |
aula 09, 01/11 (T) qui | Programado: exposição dos casos experimentais. | |
aula 10, 28/11 (M) qua | Programado: (08:00-12:00) exposição das análises dos dados. |
#------------------------------------------------------------------------------------------ vol <- read.table("http://www.leg.ufpr.br/~walmes/data/volume.txt", header=TRUE, sep="\t") str(vol) vol$dos <- factor(vol$dose) xyplot(volu~dose|gen, data=vol) m0 <- aov(volu~gen+dos+gen:dos, data=vol) anova(m0) par(mfrow=c(2,2)); plot(m0); layout(1) boxcox(m0) m1 <- aov((volu^(1/3))~gen+dos+gen:dos, data=vol) par(mfrow=c(2,2)); plot(m1); layout(1) anova(m1) with(vol, fat2.crd(gen, dos, volu^(1/3), mcomp=c("sk","tukey"))) #------------------------------------------------------------------------------------------ plot(residuals(m0)~vol$dos) plot(residuals(m0)~vol$dose) qqmath(~residuals(m0)|vol$dose) pesos <- tapply(residuals(m0), vol$dose, var) vol$pesos <- rep(pesos, each=27) m2 <- aov(volu~gen+dos+gen:dos, data=vol, weights=1/vol$pesos) par(mfrow=c(2,2)); plot(m2); layout(1) anova(m2) require(doBy) popMeans(m2, effect="gen") popMeans(m2, effect="dos") popMeans(m2, effect=c("gen", "dos")) require(agricolae) glr <- df.residual(m2) s2 <- deviance(m2)/df.residual(m2) with(subset(vol, dose=="0"), HSD.test(volu, gen, DFerror=glr, MSerror=pesos[1]*s2)) with(subset(vol, dose=="5"), HSD.test(volu, gen, DFerror=glr, MSerror=pesos[2]*s2)) with(subset(vol, dose=="25"), HSD.test(volu, gen, DFerror=glr, MSerror=pesos[3]*s2)) #------------------------------------------------------------------------------------------ # dose em cada genótipo X <- popMatrix(m2, effect=c("gen", "dos")) contr <- expand.grid(gen=levels(vol$gen), dos=levels(vol$dos)) which(contr$gen=="ATF06B") contr.x <- rbind("0vs5"=X[1,]-X[10,], "0vs25"=X[1,]-X[19,], "5vs25"=X[10,]-X[19,]) contr.x%*%coef(m2) # estimativas dos contrastes contr.x%*%vcov(m2)%*%t(contr.x) summary(glht(m2, linfct=contr.x)) #------------------------------------------------------------------------------------------ # fizemos isso para um único nível de gen, o código abaixo faz para todos lM <- lapply(levels(vol$gen), function(g){ X[contr$gen==g,] }) lM com <- combn(3, 2) compr <- lapply(lM, function(i){ m <- t(apply(com, 2, function(j) i[j[1],]-i[j[2],])) }) names(compr) <- levels(vol$gen) compr lapply(compr, function(g) summary(glht(m2, linfct=g))) #------------------------------------------------------------------------------------------ # colocando os resultados em um gráfico com IC IC <- lapply(compr, function(g) confint(glht(m2, linfct=g))) IC <- lapply(IC, "[[", "confint") #IC[[1]]$confint IC <- do.call(rbind, IC) nm <- apply(com, 2, function(i) paste(levels(vol$dos)[i[1]], levels(vol$dos)[i[2]], sep="vs")) IC <- cbind(expand.grid(compr=nm, gen=levels(vol$gen)), IC) str(IC) require(latticeExtra) segplot(compr~lwr+upr|gen, data=IC) segplot(compr~lwr+upr|gen, data=IC, layout=c(1,9), strip.left=TRUE, strip=FALSE, draw.bands=FALSE, centers=Estimate, segments.fun=panel.arrows, ends="both", angle=90, length=1, unit="mm") segplot(compr~lwr+upr|gen, data=IC, layout=c(1,9), strip.left=TRUE, strip=FALSE, draw.bands=FALSE, centers=Estimate, segments.fun=panel.arrows, ends="both", angle=90, length=1, unit="mm", panel=function(...){ panel.segplot(...) panel.abline(v=0, col=2) }) #------------------------------------------------------------------------------------------