[R-br] Problema com barplot múltiplo

ASANTOS alexandresantosbr em yahoo.com.br
Sábado Abril 14 18:13:29 BRT 2012


Boa noite pessoal,

     Tenho 3 tratamentos hipotéticos avaliados em 3 tempos diferentes, 
porém no tempo dois não foi avaliado o tratamento 2. Para fazer a 
representação deles em um barplot múltiplo, vai ficar faltando uma 
barra, portanto vai ficar um espaço em branco entre o tratamento 1 e o 
tratamento 3 e gostaria de remover esse espaço (por motivo de uma força 
maior chamada reviewer do periódico) e deixar lado a lado as barras dos 
tratamentos 1 e 3 no tempo 2. Meu CMR seria:

require(gplots)

#tratmentos no tempo1
trat1<-rep(1:3,5)
resp1<-rpois(15,25)
med1<-tapply(resp1, trat1,mean)##Media dos tratamentos
ep1<-tapply(resp1,trat1,sd)/sqrt(tapply(resp1,trat1,length))###Erros 
padrao da media

#tratmentos no tempo2
trat2<-c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3)
resp2<-c(7,7,11,12,8,NA,NA,NA,NA,NA,8,8,10,9,6)##Não foi avaliado o 
tratamento 2
med2<-tapply(resp2, trat2,mean, na.rm = TRUE)##Media dos tratamentos
ep2<-tapply(resp2,trat2,sd, na.rm = 
TRUE)/sqrt(tapply(resp2,trat2,length))###Erros padrao da media

#tratmentos no tempo3
trat3<-rep(1:3,5)
resp3<-rpois(15,45)
med3<-tapply(resp3, trat3,mean)##Media dos tratamentos
ep3<-tapply(resp3,trat3,sd)/sqrt(tapply(resp3,trat3,length))###Erros 
padrao da media
###

# Montando as tabelas para cada mêss:
a<- med1
b<- med2
cc<-med3
a2<-ep1
b2<-ep2
c2<-ep3
# Unindo as tabelas
TAB <- cbind(a,b,cc)
TAB2<-cbind(a2,b2,c2)
# Criando o barplot múltiplo
mp <- barplot2(TAB, beside = TRUE, axisnames = FALSE, plot.ci=T, 
ci.u=TAB+TAB2,ci.l=TAB-TAB2, ylab="Number of insects", legend.text=T, 
ylim=c(0, 60),col =c("grey25","grey50","white"))
# Adicionando os meses
mtext(1, at = colMeans(mp), text = rep(c("April", "May", "June"), 
7),line = 1, cex = 0.8)
#


Então eu pergunto se é possível fazer isso, pois a função barplot2() não 
me permite alterar isso uma vez que tenho no tempo 2 o tratamento 2 
representado por NA, por outro lado se retiro o tratamento 2 na hora de 
unir as tabelas não posso fazer um cbind(), pois tenho vetores de média 
e erro padrão com comprimentos diferentes.

Se algum puder me dar uma luz agradeço,


-- 
Alexandre dos Santos
Engenheiro Florestal, Dr.
Universidade Federal de Lavras
Departamento de Entomologia
Laboratório de Entomologia Florestal
Caixa Postal 3037
37200-000 - Lavras/MG
Fone: +55 (35) 9223-0304



Mais detalhes sobre a lista de discussão R-br