
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

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.

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@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 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

:0 E não é que tem uma opção que permite controlar isso! Moral da história: leia a documentação sempre (tanto quem pergunta quanto quem responde). W. ========================================================================== 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 ==========================================================================

Ola, Tenho uma base de dados com variaveis nominais e ordinais, e preciso fazer uma clusterizacao nelas (com os dois tipos de variaveis simultaneamente), de maneira que respeite (e use) essas caracteristicas. Nao quero transformar as ordinais em categoricas, pra nao perder informacao. Quais bibliotecas tem cluster para esse tipo de variaveis? Quais sao as funcoes nessas bibliotecas? Grata de antemao pela ajuda, Danielle

Deixa eu fazero check list. Você variáveis ordinais (exemplo de níveis: bom>médio>ruim) e nominais (homem, mulher), ambas já são categóricas. Quer clusterizar? Mas se já são categóricas! As duas simultâneamente, como assim, bom:homem, médio:homem, ruim:homem, bom:mulher...? Você quer dimunir o número de categorias juntando níveis semelhantes? Eu li e reli várias vezes e não entendi? Que variáveis você tem, quais os níveis, quantos níveis, níveis ocorrem de forma completamente cruzada? Dê mais detalhes e forneça um CMR. Leia o guia de postagem. À 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 ==========================================================================

Obrigado Walmes e Henrique pela solução me ajudaram muito e resolveram o problema. E quanto ao último email Walmes, dentro da função barplot2() tenho a opção space=, porém ela é orientada para todas as barras que estão sendo plotadas e não me é permitido especificar qual ou quais barras desejo determinado espaçamento, por isso pedi ajuda. Redobrados agradecimentos, Alexandre Em 15/04/2012 15:38, Walmes Zeviani escreveu:
:0 E não é que tem uma opção que permite controlar isso! Moral da história: leia a documentação sempre (tanto quem pergunta quanto quem responde).
W.
========================================================================== 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 <mailto:walmes@ufpr.br> twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes <http://www.leg.ufpr.br/%7Ewalmes> linux user number: 531218 ==========================================================================
_______________________________________________ R-br mailing list R-br@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.
-- 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

Desculpe pessoal, Achei que meu problema estava resolvido mais não esta não, concluí isso erro erroneamente à partir do CMR meu com a resposta do Walmes e do Henrique, então deixa eu entender como funciona o space, cada valor colocado se refere a distância entre uma barra e outra, onde 0 equivale a barra ao lado de barra e 1 ou -1 o deslocamento à direita ou a esquerda em uma unidade? Se sim, porque quando coloco mais um zero equivalente a 8º barra em barplot(TAB, beside = TRUE, space = c(0, 0, 0, 1, 0, -1, 1, 0, 0, 0)), não funciona. Obrigado pela paciência, Alexandre Em 15/04/2012 15:11, Henrique Dallazuanna escreveu:
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@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 Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- 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

Exato, entretanto você pode utilizar mais de uma unidade (0, 1, 2, 3, etc...). O que ocorre quando você adiciona mais um zero, é o espaço após a última barra e a próxima (que não existe), então ele recicla o vetor de width's, adicionando novamente a primeira barra (perceba os warnings gerados no console) 2012/4/15 ASANTOS <alexandresantosbr@yahoo.com.br>:
Desculpe pessoal,
Achei que meu problema estava resolvido mais não esta não, concluí isso erro erroneamente à partir do CMR meu com a resposta do Walmes e do Henrique, então deixa eu entender como funciona o space, cada valor colocado se refere a distância entre uma barra e outra, onde 0 equivale a barra ao lado de barra e 1 ou -1 o deslocamento à direita ou a esquerda em uma unidade? Se sim, porque quando coloco mais um zero equivalente a 8º barra em barplot(TAB, beside = TRUE, space = c(0, 0, 0, 1, 0, -1, 1, 0, 0, 0)), não funciona.
Obrigado pela paciência,
Alexandre
Em 15/04/2012 15:11, Henrique Dallazuanna escreveu:
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@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 Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- 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 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

Obrigado Henrique pelo esclarecimento e desculpe Walmes pela falta de atenção. Alexandre Em 15/04/2012 20:14, Henrique Dallazuanna escreveu:
Exato, entretanto você pode utilizar mais de uma unidade (0, 1, 2, 3, etc...).
O que ocorre quando você adiciona mais um zero, é o espaço após a última barra e a próxima (que não existe), então ele recicla o vetor de width's, adicionando novamente a primeira barra (perceba os warnings gerados no console)
2012/4/15 ASANTOS<alexandresantosbr@yahoo.com.br>:
Desculpe pessoal,
Achei que meu problema estava resolvido mais não esta não, concluí isso erro erroneamente à partir do CMR meu com a resposta do Walmes e do Henrique, então deixa eu entender como funciona o space, cada valor colocado se refere a distância entre uma barra e outra, onde 0 equivale a barra ao lado de barra e 1 ou -1 o deslocamento à direita ou a esquerda em uma unidade? Se sim, porque quando coloco mais um zero equivalente a 8º barra em barplot(TAB, beside = TRUE, space = c(0, 0, 0, 1, 0, -1, 1, 0, 0, 0)), não funciona.
Obrigado pela paciência,
Alexandre
Em 15/04/2012 15:11, Henrique Dallazuanna escreveu:
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@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 Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- 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 Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- 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
participantes (4)
-
ASANTOS
-
Danielle Steffen
-
Henrique Dallazuanna
-
Walmes Zeviani