由表达式排序的小平面图

时间:2015-02-17 13:06:43

标签: r

我有一个像这样的融化数据框:

> head(Merged_Columns.m)
   SYMBOL Cond   logCPM variable     value
1   Baz2b    T 9.723115       0h  40.56290
2 Ccdc111    T 3.460456       0h   6.00879
3  Zfp456    T 4.809024       0h   2.22136
4   Itga8    T 4.633377       0h   4.69537
5    Tpm4    T 8.384930       0h  44.85390
6   H2-K1    T 9.333838       0h 218.91800
> 

我的情节代码是

ggplot(Merged_Columns.m, aes(variable, value, colour=Cond))  + geom_point() +
facet_wrap(~SYMBOL,ncol = 2)

但是我想对情节进行排序,以便SYMBOLS获得以最高logCPM排序的情节图。

1 个答案:

答案 0 :(得分:2)

ggplot中的绘图顺序通常取决于您使用的因子中的级别顺序。其他问题向您展示了这种情况,例如Plotting order within a faceted dotchart in ggplot2

在您的特定情况下,您需要按SYMBOL订购logCPM。我将展示如何使用您的小样本实现这一目标:

txt <- "SYMBOL Cond   logCPM variable     value
1   Baz2b    T 9.723115       0h  40.56290
2 Ccdc111    T 3.460456       0h   6.00879
3  Zfp456    T 4.809024       0h   2.22136
4   Itga8    T 4.633377       0h   4.69537
5    Tpm4    T 8.384930       0h  44.85390
6   H2-K1    T 9.333838       0h 218.91800"

df <- read.table(text=txt)

df$SYMBOL
[1] Baz2b   Ccdc111 Zfp456  Itga8   Tpm4    H2-K1  
Levels: Baz2b Ccdc111 H2-K1 Itga8 Tpm4 Zfp456

您可以看到该因子的等级排序可能与您当前在绘图中获得的顺序相同。要通过降序logCPM来更改此排序:

df$SYMBOL <- factor(df$SYMBOL, levels=df$SYMBOL[order(-df$logCPM)])
df$SYMBOL
[1] Baz2b   Ccdc111 Zfp456  Itga8   Tpm4    H2-K1  
Levels: Baz2b H2-K1 Tpm4 Zfp456 Itga8 Ccdc111

现在对这些级别的排序方式不同,这应该反映在情节中。