Como especificar colunas em facet_grid OU como alterar rótulos em facet_wrap

Eu tenho um grande número de séries de dados que eu quero plotar usando pequenos múltiplos. Uma combinação de ggplot2 efacet_wrap faz o que eu quero, normalmente resultando em um belo bloco de 6 x 6 facetas. Aqui está uma versão mais simples:

O problema é que não tenho controle adequado sobre os rótulos nas facetas. Os nomes das colunas no quadro de dados são curtos e quero mantê-los assim, mas quero que os rótulos nas facetas sejam mais descritivos. Eu posso usarfacet_grid para que eu possa aproveitar olabeller mas parece não haver uma maneira direta de especificar o número de colunas e uma longa fileira de facetas simplesmente não funciona para essa tarefa em particular. Estou faltando alguma coisa óbvia?

P. Como posso alterar os rótulos facetados ao usar facet_wrap sem alterar os nomes das colunas? Como alternativa, como posso especificar o número de colunas e linhas ao usar facet_grid?

O código para um exemplo simplificado é o seguinte. Na vida real, estou lidando com vários grupos, cada um contendo dezenas de séries de dados, cada uma delas muda frequentemente, portanto, qualquer solução teria que ser automatizada, em vez de confiar na atribuição manual de valores.

<code>require(ggplot2)
require(reshape)

# Random data with short column names
set.seed(123)
myrows <- 30
mydf <- data.frame(date = seq(as.Date('2012-01-01'), by = "day", length.out = myrows),
                   aa = runif(myrows, min=1, max=2),
                   bb = runif(myrows, min=1, max=2),
                   cc = runif(myrows, min=1, max=2),
                   dd = runif(myrows, min=1, max=2),
                   ee = runif(myrows, min=1, max=2),
                   ff = runif(myrows, min=1, max=2))

# Plot using facet wrap - we want to specify the columns
# and the rows and this works just fine, we have a little block
# of 2 columns and 3 rows

mydf <- melt(mydf, id = c('date'))

p1 <- ggplot(mydf, aes(y = value, x = date, group = variable)) +
    geom_line() +
    facet_wrap( ~ variable, ncol = 2)
print (p1)

# Problem: we want more descriptive labels without changing column names.
# We can change the labels, but doing so requires us to
# switch from facet_wrap to facet_grid
# However, in facet_grid we can't specify the columns and rows...

mf_labeller <- function(var, value){ # lifted bodily from the R Cookbook
    value <- as.character(value)
    if (var=="variable") {
        value[value=="aa"]   <- "A long label"
        value[value=="bb"]   <- "B Partners"
        value[value=="cc"]   <- "CC Inc."
        value[value=="dd"]   <- "DD Company"
        value[value=="ee"]   <- "Eeeeeek!"
        value[value=="ff"]   <- "Final"
    }
    return(value)
}

p2 <- ggplot(mydf, aes(y = value, x = date, group = variable)) +
    geom_line() +
    facet_grid( ~ variable, labeller = mf_labeller)
print (p2)
</code>

questionAnswers(3)

yourAnswerToTheQuestion