
Alexandre, Eu não espero que exista uma opção na função para tratar essa situação. Porém, a composição geométrica do gráfico de barras é simples, é uma série de retângulos justapostos e agrupados onde a altura do retângulo representa a grandeza. Dessa forma podemos começar numa janela em branco e adicionar as barras usando rect(). Veja o CMR baseado no que você passou # dput() nos dados ficou menor que o código para obtê-los, C[Mínimo]R #dput(TAB) TAB <- structure(c(25.2, 27.6, 22, 9, NaN, 8.2, 46.8, 46.8, 46.6), .Dim = c(3L, 3L), .Dimnames = list(c("1", "2", "3"), c("a", "b", "cc"))) #dput(TAB2) TAB2 <- structure(c(1.65529453572468, 2.11187120819429, 2, 1.04880884817015, NA, 0.66332495807108, 4.36348484585429, 4.38634243989226, 3.2649655434629 ), .Dim = c(3L, 3L), .Dimnames = list(c("1", "2", "3"), c("a2", "b2", "c2"))) nbars <- 8; ngroups <- 3; barwidth <- 1; between <- 1; margin <- 0.5 col <- c("seagreen","forestgreen","limegreen") ylim <- c(0, 1.1*max(TAB+TAB2, na.rm=TRUE)) xlim <- c(0, nbars*barwidth+2*margin+ngroups*between) plot(x=NULL, ylim=ylim, xlim=xlim, xaxt="n", xlab=NA, ylab="frequência") abline(v=0:15, h=10*(0:6), col="grey50", lty=3) xc <- c((1:3), (4:5)+between, (6:8)+2*between) yc <- na.omit(c(TAB)) rect(xc, 0, xc+1, yc, col=col[c(1,2,3,1,3,1,2,3)]) mtext(side=1, at=c(2.5,6,9.5), text=c("April", "May", "June"), line=1) zc <- na.omit(c(TAB2)) arrows(xc+0.5, yc-zc, xc+0.5, yc+zc, code=3, angle=90, length=0.05) Com um pouco de esforço é possível implementar uma mybarplot() que considere dados com NA. À disposição. Walmes. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ========================================================================== 2012/4/14 ASANTOS <alexandresantosbr@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@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/**cgi-bin/mailman/listinfo/r-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<http://www.leg.ufpr.br/r-br-guia>) e forneça código mínimo reproduzível.