[R-br] Problema com barplot múltiplo

Henrique Dallazuanna wwwhsd em gmail.com
Domingo Abril 15 15:11:41 BRT 2012


Alexandre,

Você pode usar o argumento space que controla estes espaços:

barplot(TAB, beside = TRUE, space = c(0, 0, 0, 1, 0, -1, 1, 0, 0))

o mesmo para a função gplots::barplot2

2012/4/14 ASANTOS <alexandresantosbr em yahoo.com.br>:
> 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
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código
> mínimo reproduzível.



-- 
Henrique Dallazuanna
Curitiba-Paraná-Brasil
25° 25' 40" S 49° 16' 22" O


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