ggplot boxplot - comprimento de bigodes com eixo logarítmico

Estou tentando criar um boxplot horizontal com eixo logarítmico usando ggplot2. Mas, o comprimento dos bigodes está errado.

Um exemplo reprodutível mínimo:

Alguns dados

library(ggplot2)
library(reshape2)
set.seed(1234)
my.df <- data.frame(a = rnorm(1000,150,50), b = rnorm(1000,500,150))
my.df$a[which(my.df$a < 5)] <- 5
my.df$b[which(my.df$b < 5)] <- 5

Se eu traçar isso usando a base Rboxplot(), tudo está bem

boxplot(my.df, log="x", horizontal=T)

Mas com ggplot,

my.df.long <- melt(my.df, value.name = "vals")
ggplot(my.df.long, aes(x=variable, y=vals)) +
  geom_boxplot() +
  scale_y_log10(breaks=c(5,10,20,50,100,200,500,1000), limits=c(5,1000)) +
  theme_bw() + coord_flip()

Recebo esse enredo, no qual os bigodes têm o tamanho errado (veja, por exemplo, como existem muitos outliers adicionais abaixo dos bigodes e nenhum acima).

Observe que, sem eixos de toras, o ggplot tem os bigodes com o comprimento correto

ggplot(my.df.long, aes(x=variable, y=vals)) +
  geom_boxplot() +
  theme_bw() + coord_flip()

Como produzo um boxplot logarítmico horizontal usando ggplot com os bigodes de comprimento correto? De preferência com os bigodes que se estendem a 1,5 vezes o IQR.

Atualizar

Como explicadoaqui. É possível usarcoord_trans(y = "log10") ao invés descale_y_log10, o que fará com que as estatísticas sejam calculadasantes transformando os dados.Contudo, coord_trans não pode ser usado em combinação comcoord_flip. Portanto, isso não resolve o problema da criação de gráficos de caixas horizontais com um eixo de log.

questionAnswers(2)

yourAnswerToTheQuestion