Ordenar pilas por tamaño en un gráfico de barras apiladas ggplot2
Así que tengo una carga de datos que he muestreado como un ejemplo a continuación:
Sequence Abundance Length
CAGTG 3 25
CGCTG 82 23
GGGAC 4 25
CTATC 16 23
CTTGA 14 25
CAAGG 9 24
GTAAT 5 24
ACGAA 32 22
TCGGA 10 22
TAGGC 30 21
TGCCG 25 21
TCCGG 2 21
CGCCT 22 24
TTGGC 4 22
ATTCC 4 23
Solo estoy mostrando las primeras 4 palabras de cada secuencia aquí, pero en realidad son de "Longitud" de largo. Estoy mirando la abundancia de secuencias para cada clase de tamaño que tengo aquí. Además, quiero visualizar la proporción de abundancia que representa una secuencia particular dentro de su clase de tamaño. Actualmente, puedo hacer un gráfico de barras apiladas como este:
ggplot(tab, aes(x=Length, y=Abundance, fill=Sequence))
+ geom_bar(stat='identity')
+ opts(legend.position="none")
Esto está bien para un pequeño conjunto de datos como este, pero tengo alrededor de 1,7 millones de filas en mi conjunto de datos real. Se ve muy colorido y puedo ver que las secuencias particulares tienen una abundancia mayoritaria en una clase de tamaño único, pero es muy desordenado.
Me gustaría poder ordenar las barras apiladas de colores para cada tamaño por la abundancia de esa secuencia. es decir, las barras con la mayor abundancia dentro de su pila están en la parte inferior de cada pila y las barras con la menor abundancia están en la parte superior. Debería verse mucho más presentable de esa manera.
¿Alguna idea sobre cómo hacer esto en ggplot2? Sé que hay un parámetro de "orden" en aes () pero no puedo determinar qué debería hacer con los datos en el formato que tengo.